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();
}
Devexpress GridView内嵌dx:ASPxGridLookup取得控件值乱跳解决方案的更多相关文章
- Sencha touch navigation 内嵌list,itemTap第二次点击不跳转的问题
情景:navigation view 内嵌list,第一次触发list事件itemtap,正常跳转至详情页,点击"defaultBackButton"返回至list正常;再次点击触 ...
- WPFS数据绑定(要是后台类对象的属性值发生改变,通知在“client界面与之绑定的控件值”也发生改变须要实现INotitypropertyChanged接口)
WPFS数据绑定(要是后台类对象的属性值发生改变,通知在"client界面与之绑定的控件值"也发生改变须要实现INotitypropertyChanged接口) MainWindo ...
- ASP.NET MVC加载用户控件后并获取其内控件值或赋值
有网友看了这篇<ASP.NET MVC加载ASCX之后,并为之赋值>http://www.cnblogs.com/insus/p/3643254.html 之后,问及Insus.NET,不 ...
- C#一行代码实现(06)跨线程获取控件值,结合BeginInvoke和EndInvoke使用,以DataGridView为例
主要功能 跨线程获取控件值,以DataGridView为例,结合BeginInvoke和EndInvoke使用 一行代码 object cellValue = dataGridView.ExInvok ...
- Jquery获得控件值的方法
一 Jquery获得服务器控件值的方法 由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法: 服务器控件代码:<a ...
- asp.net取HTML控件值
asp.net取HTML控件值所有html表单里面的值控件,提交后都是以键值 key=value&key=value&……这样的形式提交给后台. radio也一样,会将选中的radio ...
- FineReport——获取控件值和单元格值
设置单元格的值(填报预览): //contentPane.setCellValue(1,0,"abc");//参数面板给单元格赋实际值,即可填报 contentPane.curLG ...
- WinForm 清空界面控件值的小技巧
原文:WinForm 清空界面控件值的小技巧 在WinForm里面有时候需要清空自己输入内容或是选择的选项,以便重新操作流程,那么一般你是怎么清空界面各个控件值的呢?如果窗体里面控件,尤其是TextB ...
- 利用一个VI写入或读取另一个VI的控件值
利用一个VI写入或读取另一个VI的控件值(转载自浅浅的小草) 有一个VI,叫未命名1.vi. 还有一个vi,叫未命名2.vi 现在,我在 1.vi里要对2.vi的字符串控件进行写入. 可 ...
随机推荐
- JS --正则表达式验证、实战之邮箱模式
JS验证格式:提高用户体验,验证文本. 需要防止程序员的代码结构更改攻击,因为web段的代码有可能会被更改,更改后JS有可能会验证不住那么,C#端在JS段通过验证的情况下,还需要进行二次验证 < ...
- Linux_07------Linux的用户和用户组管理
段 * 用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型 * 每一行对应一个用户 * * /etc/shadow 存储用户密码 * 与passwd配置文件一一对应, ...
- 《C++编程规范:101条规则、准则与最佳实践》学习笔记
转载:http://dsqiu.iteye.com/blog/1688217 组织和策略问题 0. 不要为小事斤斤计较.(或者说是:知道什么东西不需要标准化) 无需在多个项目或者整个公司范围内强制实施 ...
- 使用JdbcTemplate简化JDBC操作 实现数据库操作
使用Spring JDBC框架方遍简单的完成JDBC操作,满足性能的需求且灵活性高. Spring JDBC框架由4个部分组成,即core.datasource.object.support. org ...
- Fedora20安装fcitx输入法
Fedora20安装fcitx输入法 Fedora20默认安装的是ibus输入法,总有一些原因让我们选择fcitx输入法: ibus出词顺序有bug 在输入人名的时候,有些名字输入两三次后还是不会出现 ...
- unity3d - new 不出的单例
可能习惯了写单例的朋友,或者常规的单例模式 会这样做 private static Single instance; public static Single Instance(){ if (inst ...
- Selenium2+python自动化22-发送各种类型附件邮件
前言 最近一些小伙伴,在搞邮箱的事情,小编于是去折腾了一下!总结了一些干货,与大家分享一下!速来,抱大腿,我要开车了! 基本思路就是,使用MIMEMultipart来标示这个邮件是多个部分组成的,然后 ...
- node.js 基础学习 express安装使用
安装好nodeJs,我们需要使用命令行中安装express. 我这里默认将Node.js安装在C:\Program Files\nodCejs\盘中. 在保持联网的状态下,依次输入如下命令. npm ...
- (转)combogrid的代码实例
EasyUI中combogrid的代码实例 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- sublime构建执行go程序真爽
1.安装gosublime插件 2.直接在sublime下调试运行共程序,不用去cmd了: 选择编译系统,编译,出现下面的模拟命令行,直接执行go的命令即可,比如go run process.go,结 ...