积极答复者
DataTable类的DataTable.RowChanged 事件该如何理解?

问题
-
C#Winform中有没有这样的控件?
在控件中有类似于excel表格式,固定在那,
当在首列中的第一个单元格输入数据,在首行中的第2,3,4……n列中显示相关数据?
当在首列中的第二个单元格输入数据,在第二行的第2,3,4……n列中显示相关数据?
……………………………………………………………………………………………………
当在首列中的第N个单元格输入数据,在第N行的第2,3,4……n列中显示相关数据?这样当输完所有数据,但凡输入数据的行都显示了数据?
请给出控件和相关代码示例,谢谢
构建一个DataTable,N行*N列都是空的,然后在首列的相关行输入数据,根据这个数据调用一存储过程(只有一个参数),
根据存储过程返回另一个表格的结构,将这个表的结构的Rows[i].Cells[j]添加到构建表的相关Rows[i].Cells[j]中?
根据提示调用DataTable.RowChanged事件,但这个事件的意思看不懂,MSDN上的例子也是一知半解,请MVP赐教,给出代码提示,和相关结果,最好有注释,谢谢- 已移动 Sheng Jiang 蒋晟Moderator 2009年11月3日 2:12 数据库开发 (发件人:Visual C#)
答案
-
你是打算录入一个出入库表单吧?如果你这样做可能会简单一点。在 DataGridView 下方拖放两个 TextBox (TextBox1输入编号,TexBox2 输入数量)控件。TextBox1 的 KeyDown 事件中判断是否输入回车,如是即将 TextBox2 设为信点, TextBox2.Text 默认为 1。TextBox2 的 KeyDown 事件中判断是否输入回车,如是即读取产品信息加往 DataGridView 绑定的 DataTable 中添加详细的数据。焦点回到 TextBox 1 并重置两个 TextBox 的 Text 属性。如此反复就完成了一张表单。
知识改变命运,奋斗成就人生!- 已标记为答案 .net小痞子 2009年11月6日 8:49
全部回复
-
-
比如说我得到的一个空表格(ICBOM),里面没有任何数据,DataGridView控件里的数据源就是ICBOM
DataGridView.DataSource=ds.Tables[0]
这样在运行Form控件后就有一个类似Excel表的形式了……
那么当我在DataGridView.Rows[0].Cells[1] 输入一数据'7.01.01.01.0021',根据这个数据调用存储过程"t_BOM1",
存储过程:
create proc t_BOM1(@FFullNumber varchar(40)) as select FInterID,FParentID,FName from ICBOM where FFullNumber=@FFullNumber
当我在DataGridView.Rows[0].Cells[1]输入数据'7.01.01.01.0021'后,根据这个物料代码(FFullNumber)调用存储过程"t_BOM1",
在DataGridView.Rows[0].Cells[2]中显示FInterID,
在DataGridView.Rows[0].Cells[3]中显示FParentID,
在DataGridView.Rows[0].Cells[4]中显示FName
当我在DataGridView.Rows[1].Cells[1]输入数据'7.01.01.01.0031'后,根据这个物料代码(FFullNumber)调用存储过程"t_BOM1",
在DataGridView.Rows[1].Cells[2]中显示FInterID,
在DataGridView.Rows[1].Cells[3]中显示FParentID,
在DataGridView.Rows[1].Cells[4]中显示FName
…………………………………………
当我在DataGridView.Rows[N].Cells[1]输入数据'7.01.01.01.0031'后,根据这个物料代码(FFullNumber)调用存储过程"t_BOM1",
在DataGridView.Rows[N].Cells[2]中显示FInterID,
在DataGridView.Rows[N].Cells[3]中显示FParentID,
在DataGridView.Rows[N].Cells[4]中显示FName
当所有的输完后,就有N行的数据了……不知道该如何实现?
-
你是打算录入一个出入库表单吧?如果你这样做可能会简单一点。在 DataGridView 下方拖放两个 TextBox (TextBox1输入编号,TexBox2 输入数量)控件。TextBox1 的 KeyDown 事件中判断是否输入回车,如是即将 TextBox2 设为信点, TextBox2.Text 默认为 1。TextBox2 的 KeyDown 事件中判断是否输入回车,如是即读取产品信息加往 DataGridView 绑定的 DataTable 中添加详细的数据。焦点回到 TextBox 1 并重置两个 TextBox 的 Text 属性。如此反复就完成了一张表单。
知识改变命运,奋斗成就人生!- 已标记为答案 .net小痞子 2009年11月6日 8:49