一 页面嵌入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();
}

Devexpress GridView内嵌dx:ASPxGridLookup取得控件值乱跳解决方案的更多相关文章

  1. Sencha touch navigation 内嵌list,itemTap第二次点击不跳转的问题

    情景:navigation view 内嵌list,第一次触发list事件itemtap,正常跳转至详情页,点击"defaultBackButton"返回至list正常;再次点击触 ...

  2. WPFS数据绑定(要是后台类对象的属性值发生改变,通知在“client界面与之绑定的控件值”也发生改变须要实现INotitypropertyChanged接口)

    WPFS数据绑定(要是后台类对象的属性值发生改变,通知在"client界面与之绑定的控件值"也发生改变须要实现INotitypropertyChanged接口) MainWindo ...

  3. ASP.NET MVC加载用户控件后并获取其内控件值或赋值

    有网友看了这篇<ASP.NET MVC加载ASCX之后,并为之赋值>http://www.cnblogs.com/insus/p/3643254.html 之后,问及Insus.NET,不 ...

  4. C#一行代码实现(06)跨线程获取控件值,结合BeginInvoke和EndInvoke使用,以DataGridView为例

    主要功能 跨线程获取控件值,以DataGridView为例,结合BeginInvoke和EndInvoke使用 一行代码 object cellValue = dataGridView.ExInvok ...

  5. Jquery获得控件值的方法

    一 Jquery获得服务器控件值的方法 由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法: 服务器控件代码:<a ...

  6. asp.net取HTML控件值

    asp.net取HTML控件值所有html表单里面的值控件,提交后都是以键值 key=value&key=value&……这样的形式提交给后台. radio也一样,会将选中的radio ...

  7. FineReport——获取控件值和单元格值

    设置单元格的值(填报预览): //contentPane.setCellValue(1,0,"abc");//参数面板给单元格赋实际值,即可填报 contentPane.curLG ...

  8. WinForm 清空界面控件值的小技巧

    原文:WinForm 清空界面控件值的小技巧 在WinForm里面有时候需要清空自己输入内容或是选择的选项,以便重新操作流程,那么一般你是怎么清空界面各个控件值的呢?如果窗体里面控件,尤其是TextB ...

  9. 利用一个VI写入或读取另一个VI的控件值

    利用一个VI写入或读取另一个VI的控件值(转载自浅浅的小草) 有一个VI,叫未命名1.vi.   还有一个vi,叫未命名2.vi     现在,我在 1.vi里要对2.vi的字符串控件进行写入.  可 ...

随机推荐

  1. mysql事件定时

    DELIMITER $$ MONTH STARTS '2013-01-07 11:20:00' ON COMPLETION PRESERVE ENABLE DO BEGIN CALL ps(); EN ...

  2. JSTL和EL的区别

    JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的.JSTL只能运行在支持JSP1.2 ...

  3. error in opening zip file 1 错误

    项目部署服务启动时会出现: error in opening zip file 1 错误 原来是不同服务器编译过的jar包直接下载后发布有问题,重新上传本地编译好的lib下面的jar包后,启动服务,正 ...

  4. C++ 用libcurl库进行http通讯网络编程(转)

    转载:http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三. ...

  5. NGUI Draw Calls优化(思路)

    用NGUI做界面的时候发现不注意GameObject(或者说Widget)的depth的话,单独运行界面时,Draw Calls挺高的: 网上搜了一下,大把的博客说的都是类似以下的原则: (PS:以下 ...

  6. 使用并行的方法计算斐波那契数列 (Fibonacci)

    更新:我的同事Terry告诉我有一种矩阵运算的方式计算斐波那契数列,更适于并行.他还提供了利用TBB的parallel_reduce模板计算斐波那契数列的代码(在TBB示例代码的基础上修改得来,比原始 ...

  7. python datatime

    一.datetime 1.date date.today() 2.time 3.datetime datetime.now() datetime.strftime(fmt) 转换为字符串 dateti ...

  8. Python网络爬虫Scrapy框架研究

    看到一个爬虫比较完整的教程.保留一下. https://github.com/yidao620c/core-scrapy

  9. XE3随笔11:Merge、Clone、ForcePath

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  10. LVM基本概念、管理

    一.传统磁盘管理的问题 当分区大小不够用时无法扩展其大小,只能通过添加磁盘.创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一 ...