例如在DataGird 有这样几列商品编码(ResID)、单价(Price)、数量(Number)、总金额(Money)。
功能要求
1: 要求存储的是编码(ResID),但我要显示商品名称(ResName)这个字段在另一个表中,这一列的值
Value 为ResID,text 为ResName ,也就是要实现一个setText功能。
2 :单价或数量修改时,总金额自动修改,要求是实时的显示出来,不是等保存更新以后才显示出来
功能要求
1: 要求存储的是编码(ResID),但我要显示商品名称(ResName)这个字段在另一个表中,这一列的值
Value 为ResID,text 为ResName ,也就是要实现一个setText功能。
2 :单价或数量修改时,总金额自动修改,要求是实时的显示出来,不是等保存更新以后才显示出来
解决方案 »
- C#中类,结构体,方法的区别和联系
- Main()函数的两个基础问题请教
- combobox控件请教,谢谢
- 如何设置为短时间格式
- WinForm下如何直接对Access数据库进行增删改操作啊?大虾们要帮我啊!!!小弟先谢了
- 高手帮忙,C#调VC API 中的参数联合体转换问题
- 关于WinForm窗口控制问题!!
- contextmenustrip子菜单获取父级的sourcecontrol
- 求个写法,最好能说明一下,谢谢!
- Windows form怪问题,请高手帮助我一下~~~~~~~~~~~~
- 请问vs2003下开发的pda程序,不能在windows mobile上运行
- CLSID:8856F961-340A-11D0-A96B-00C04FD705A控件问题
DataGridTableStyle.HeaderText = "商品编码";
使用SELECT语句可以访问多个表,例如
SELECT s.ResId,n.ResName,s.Price,s.Number,s.Money FROM Res1 AS s INNER JOIN Res2 as n ON s.ResId=n.ResId
这里假设保存 商品编码(ResID)、单价(Price)、数量(Number)、总金额(Money)的表为Res1;保存 编码(ResID),商品名称(ResName)的表为Res2问题2:
使用ADO.net通过1中的SELECT语句取得数据,并将数据保存到某DataTable(名为dtRes)之后,
可以处理该DataTable的ColumnChanging事件。例如:
//首先,添加事件
dtRes.ColumnChanging += new DataColumnChangeEventHandler( Column_Changing );
//再添加事件处理方法
private void Column_Changing( object sender, DataColumnChangeEventArgs e )
{
if(e.Column.ColumnName=="Price" || e.Column.ColumnName=="Number") //单价和数量的改变
{
//这里加入自己的校验代码,以确认用户输入的单价和数量是否符合要求
//......
//这里计算总数额(这里假设单价、数量、总数额都是decimal类型,且没有处理用户输入不正确的异常
e.Row["Money"]=((decimal)e.Row["Price"]) * ((decimal)e.Row["Number"]);
}
else //修改了其他列的数据
{
//....
}
}
第二问题,我记得datagrid有一个方法当你离开某一个格子的时候触发的,在里面实现你要实现的功能!如果找不到的话,也可以自己写一个选中的列的方法来检测,当进入该格子的时候变一下变量,修改后改回来同样能实现!