zoukankan      html  css  js  c++  java
  • Devexpress GridView内嵌dx:ASPxGridLookup取得控件值乱跳解决方案

    一 页面嵌入ASPxGridLookup控件

     <dx:ASPxGridView ID="gridDetail" runat="server"
                            KeyFieldName="ID"
                            OnRowInserting="gridDetail_RowInserting" >
                            <Columns>
                                <dx:GridViewCommandColumn Caption="操作" ButtonType="Image" Width="80px">
                                    <HeaderTemplate>
                                        <dx:ASPxButton ID="btnDetailInsert" Image-Url="../Scripts/easyui/themes/icons/edit_Add.png"
                                            ClientInstanceName="btnDetailInsert" AutoPostBack="true" runat="server" OnClick="btnDetailInsert_Click">
                                        </dx:ASPxButton>
                                    </HeaderTemplate>
                                    <DeleteButton Text="删除" Visible="true">
                                        <Image ToolTip="删除" Url="../Scripts/easyui/themes/icons/no.png" />
                                    </DeleteButton>
                                    <UpdateButton Text="保存" Visible="true">
                                        <Image ToolTip="保存" Url="../Scripts/easyui/themes/icons/filesave.png" />
                                    </UpdateButton>
                                    <EditButton Text="编辑" Visible="true">
                                        <Image ToolTip="编辑" Url="../Scripts/easyui/themes/default/images/tree_file.Gif" />
                                    </EditButton>
                                    <CancelButton Text="取消" Visible="true">
                                        <Image ToolTip="取消" Url="../Scripts/easyui/themes/icons/back.png" />
                                    </CancelButton>
                                </dx:GridViewCommandColumn>
                                <dx:GridViewDataTextColumn Caption="管理员" Width="100px" FieldName="GuideAdmin.Name"
                                    VisibleIndex="1">
                                    <EditItemTemplate>
                                        <dx:ASPxGridLookup ID="GridGuideAdmin" Width="100%" runat="server" IncrementalFilteringMode="StartsWith"
                                            TextFormatString="{1}" ClientInstanceName="GridGuideAdmin" OnInit="GridGuideAdmin_Init"
                                            KeyFieldName="ID">
                                            <Columns>
                                                <dx:GridViewDataTextColumn FieldName="CompanyCode" Caption="代码" />
                                                <dx:GridViewDataTextColumn FieldName="ShortName" Caption="管理员" />
                                            </Columns>
                                        </dx:ASPxGridLookup>
                                    </EditItemTemplate>
                                </dx:GridViewDataTextColumn>
                            </Columns>
    </dx:ASPxGridView>

    二 绑定ASPxGridLookup数据,没有Order By SQ则取到的数据会乱跳(这个花了半天才调出来)
     protected void GridGuideAdmin_Init(object sender, EventArgs e)
            {
                EmployeeRule employeeRule = new EmployeeRule();
                ((ASPxGridLookup)sender).DataSource =  employeeRule.GetEmployeeDataTable();
            }
           
            public DataTable GetEmployeeDataTable()
            {
                string sql = @"select
                            PersonName as ShortName,
                            Sq as ID,ADM_EmployeeCd as CompanyCode
                            from V_Employee order by SQ"; 
                return dao.GetDataTable(sql); ;
            }
            
    三、获得页面数据保存

     protected void gridDetail_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
    {
        //判断是否包含导游数据,不包含则根据需求人数从报价中带入
        guideAssignOrderItemInfo.GuideSq = new Guid((sender as ASPxGridView).GetMasterRowKeyValue().ToString());
                guideAssignOrderItemInfo.GuideAdmin.ID = Guid.Parse(GetColumnLookUpValue(gridDetail, "GuideAdmin.Name", "GridGuideAdmin"));
        this.SetDetailParameter(sender as ASPxGridView, e.NewValues);

        this.guideAssignOrderItemInfoRule.Add(guideAssignOrderItemInfo);
        e.Cancel = true;
        (sender as ASPxGridView).CancelEdit();
        this.grid.Focus();
    }


    public string GetColumnLookUpValue(ASPxGridView grv, string strColumn, string strControlFieldName)
    {//从下拉框得到Sq值
        ASPxGridLookup control = (ASPxGridLookup)grv.FindEditRowCellTemplateControl((GridViewDataColumn)grv.Columns[strColumn], strControlFieldName);
        if (control != null && control.Value != null)
        {
            return control.Value.ToString();
        }
        return Guid.Empty.ToString();
    }

  • 相关阅读:
    做到就得到,人生成功的启示
    这个世界没什么过不去的事情,记我的经历
    要想富,先读书,没有文化要吃一辈子的亏
    git学习笔记11-git多人协作-实际多人怎么开发
    git学习笔记10-新开发的功能不想要了-强行删除分支
    git学习笔记09-bug分支-自己的分支改到一半了-要去改bug怎么办?
    git学习笔记08-分支管理策略-实际上我们应该怎么应用分支
    git学习笔记07-冲突了怎么办-那就解决冲突呗
    git学习笔记06-创建分支合并分支-比svn快多了,因为只有指针在改变
    git学习笔记05-从远程库克隆
  • 原文地址:https://www.cnblogs.com/eugenewu0808/p/3580680.html
Copyright © 2011-2022 走看看