取LookupEdit组件数据源当前资料行某字段的值
取LookupEdit组件数据源当前资料行某字段的值问题描述:
此窗体中的项目列绑定了LookupEdit组件,如何调用LookupEdit的事件,当LookupEdit的值发生变化,其取值列随之变化?就是(第四列的值是根据第二列的值发生变化的)
此窗体中的项目列绑定了LookupEdit组件,如何调用LookupEdit的事件,当LookupEdit的值发生变化,其取值列随之变化?就是(第四列的值是根据第二列的值发生变化的)
解决方案示例:
源码:
C# Code:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 产品数据
/// </summary>
private DataTable StockData
{
get
{
DataTable dt = new DataTable();
dt.Columns.Add("StockCode", typeof(string));
dt.Columns.Add("StockName", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Rows.Add(new object[] { "CS2.0", "开发框架-V2.0", 100.11 });
dt.Rows.Add(new object[] { "CS2.2", "开发框架-V2.2", 200.22 });
dt.Rows.Add(new object[] { "CS3.0", "开发框架-V3.0", 300.33 });
dt.AcceptChanges();
return dt;
}
}
/// <summary>
/// 销售订单明细数据
/// </summary>
private DataTable SaleDetailData
{
get
{
DataTable dt = new DataTable();
dt.Columns.Add("StockCode", typeof(string));
dt.Columns.Add("StockName", typeof(string));
dt.Columns.Add("SalePrice", typeof(decimal));
dt.Rows.Add(new object[] { "CS2.0", "开发框架-V2.0", 100.11 });
dt.AcceptChanges();
return dt;
}
}
private void Form1_Load(object sender, EventArgs e)
{
//绑定LookupEdit的数据源
txtStock.Properties.DisplayMember = "StockName";
txtStock.Properties.ValueMember = "StockCode";
txtStock.Properties.DataSource = StockData;
//绑定表格中LookupEdit的数据源
RepositoryItemLookUpEdit edit = gridColumn1.ColumnEdit as RepositoryItemLookUpEdit;
edit.Properties.DisplayMember = "StockName";
edit.Properties.ValueMember = "StockCode";
edit.Properties.DataSource = StockData;
//手工绑定EditValueChanged事件
edit.EditValueChanged = new EventHandler(edit_EditValueChanged);
//设置表格的数据源
gridControl1.DataSource = SaleDetailData;
}
private void edit_EditValueChanged(object sender, EventArgs e)
{
LookUpEdit edit = sender as LookUpEdit;
if (edit.EditValue != null)
{
//取资料行,数据源为DataTable, 资料行是DataRowView对象。
object o = edit.Properties.GetDataSourceRowByKeyValue(edit.EditValue);
if (o is DataRowView)
{
DataRowView rv = o as DataRowView;
gridView1.SetFocusedRowCellValue("SalePrice", rv.Row["Price"]);//取单价
}
}
else
{
labelControl4.Text = "0.00";
}
}
private void txtStock_EditValueChanged(object sender, EventArgs e)
{
if (txtStock.EditValue != null)
{
//取资料行,数据源为DataTable, 资料行是DataRowView对象。
object o = txtStock.Properties.GetDataSourceRowByKeyValue(txtStock.EditValue);
if (o is DataRowView)
{
DataRowView rv = o as DataRowView;
labelControl4.Text = rv.Row["Price"].ToString(); //取单价
}
}
else
{
labelControl4.Text = "0.00";
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 产品数据
/// </summary>
private DataTable StockData
{
get
{
DataTable dt = new DataTable();
dt.Columns.Add("StockCode", typeof(string));
dt.Columns.Add("StockName", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Rows.Add(new object[] { "CS2.0", "开发框架-V2.0", 100.11 });
dt.Rows.Add(new object[] { "CS2.2", "开发框架-V2.2", 200.22 });
dt.Rows.Add(new object[] { "CS3.0", "开发框架-V3.0", 300.33 });
dt.AcceptChanges();
return dt;
}
}
/// <summary>
/// 销售订单明细数据
/// </summary>
private DataTable SaleDetailData
{
get
{
DataTable dt = new DataTable();
dt.Columns.Add("StockCode", typeof(string));
dt.Columns.Add("StockName", typeof(string));
dt.Columns.Add("SalePrice", typeof(decimal));
dt.Rows.Add(new object[] { "CS2.0", "开发框架-V2.0", 100.11 });
dt.AcceptChanges();
return dt;
}
}
private void Form1_Load(object sender, EventArgs e)
{
//绑定LookupEdit的数据源
txtStock.Properties.DisplayMember = "StockName";
txtStock.Properties.ValueMember = "StockCode";
txtStock.Properties.DataSource = StockData;
//绑定表格中LookupEdit的数据源
RepositoryItemLookUpEdit edit = gridColumn1.ColumnEdit as RepositoryItemLookUpEdit;
edit.Properties.DisplayMember = "StockName";
edit.Properties.ValueMember = "StockCode";
edit.Properties.DataSource = StockData;
//手工绑定EditValueChanged事件
edit.EditValueChanged = new EventHandler(edit_EditValueChanged);
//设置表格的数据源
gridControl1.DataSource = SaleDetailData;
}
private void edit_EditValueChanged(object sender, EventArgs e)
{
LookUpEdit edit = sender as LookUpEdit;
if (edit.EditValue != null)
{
//取资料行,数据源为DataTable, 资料行是DataRowView对象。
object o = edit.Properties.GetDataSourceRowByKeyValue(edit.EditValue);
if (o is DataRowView)
{
DataRowView rv = o as DataRowView;
gridView1.SetFocusedRowCellValue("SalePrice", rv.Row["Price"]);//取单价
}
}
else
{
labelControl4.Text = "0.00";
}
}
private void txtStock_EditValueChanged(object sender, EventArgs e)
{
if (txtStock.EditValue != null)
{
//取资料行,数据源为DataTable, 资料行是DataRowView对象。
object o = txtStock.Properties.GetDataSourceRowByKeyValue(txtStock.EditValue);
if (o is DataRowView)
{
DataRowView rv = o as DataRowView;
labelControl4.Text = rv.Row["Price"].ToString(); //取单价
}
}
else
{
labelControl4.Text = "0.00";
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
源码下载:
参考文档:
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
C# DevExpress高级篇 | GridLookUpEdit组件使用|C/S开发框架
C# DevExpress教学 GridLookUpEdit组件表格下拉组件使用|C/S开发框架
LookupEdit 支持录入新值 - ProcessNewValue 事件
DevExpress LookupEdit组件设置自动搜索功能
C# DevExpress TreeListLookUpEdit 绑定数据源下拉窗体
手工绑定某个下拉数据窗口(LookUpEdit)的数据源
使用DataBinderTools工具类绑定下拉LookupEdit组件数据源
关于LookupEdit组件选择一条纪录不触发EditValueChanged事件
【原创】C# Dev用户自定义组件,自动下拉弹框表格过滤数据组件ucMyLookUpEdit
LookupEdit.EditValueChanged事件内给其它文本框赋值无效或变回原来的值
LookupEdit关联更新其它文本输入框的值(自动带出参考数据并赋值)
Dev表格RepositoryItemLookUpEdit组件改变值时设置其它列的值-原创
GridView表格中绑定LookupEdit单选组件
DEV组件LookupEdit,ComboBoxEdit绑定数据源
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
C# DevExpress高级篇 | GridLookUpEdit组件使用|C/S开发框架
C# DevExpress教学 GridLookUpEdit组件表格下拉组件使用|C/S开发框架
LookupEdit 支持录入新值 - ProcessNewValue 事件
DevExpress LookupEdit组件设置自动搜索功能
C# DevExpress TreeListLookUpEdit 绑定数据源下拉窗体
手工绑定某个下拉数据窗口(LookUpEdit)的数据源
使用DataBinderTools工具类绑定下拉LookupEdit组件数据源
关于LookupEdit组件选择一条纪录不触发EditValueChanged事件
【原创】C# Dev用户自定义组件,自动下拉弹框表格过滤数据组件ucMyLookUpEdit
LookupEdit.EditValueChanged事件内给其它文本框赋值无效或变回原来的值
LookupEdit关联更新其它文本输入框的值(自动带出参考数据并赋值)
Dev表格RepositoryItemLookUpEdit组件改变值时设置其它列的值-原创
GridView表格中绑定LookupEdit单选组件
DEV组件LookupEdit,ComboBoxEdit绑定数据源
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
