我做一个销售管理的窗体,涉及到两个主从表:销售记录,销售明细分别用ddatagridview1和datagridview2显示。
我现在已经实现了dw1与dw2的关联,当选中dw1的记录时,dw2的内容会跟着发生变化。主键是:销售编号。
我现在遇到的问题是:我想在dw2中添加销售明细记录,但是想从dw1中提取相关的几个关键字段,直接填入dw2对应的字段中,如:销售代表姓名,销售编码,所属会计区间等。请问如何让dw2在添加新记录时,直接引用dw1当前记录的某些字段。谢谢!
我现在已经实现了dw1与dw2的关联,当选中dw1的记录时,dw2的内容会跟着发生变化。主键是:销售编号。
我现在遇到的问题是:我想在dw2中添加销售明细记录,但是想从dw1中提取相关的几个关键字段,直接填入dw2对应的字段中,如:销售代表姓名,销售编码,所属会计区间等。请问如何让dw2在添加新记录时,直接引用dw1当前记录的某些字段。谢谢!
思路:
当给DW2添加记录的时候,取得DW1的选中行中特定单元格的値
把取得的DW1的値付给DW2的新记录就可以了啊
for (int i = 0; i < dgvr.Cells.Count; i++)
{
Console.Write(dgvr.Cells[i].Value.ToString());
}//看看打印结果
dw2.DataSource = dt2; //销售明细datatable
//以下为明细表新增
DataRow dr = dt2.NewRow();
dr[0] = 当前dw1选中行的第几列数据/根据当前dw1选中行的ID从dt1取值
dr[1] = 当前dw1选中行的第几列数据/根据当前dw1选中行的ID从dt1取值
dt2.Rows.Add(dr);
dw2.DataSource = dt2; //将新的明细datatable再次绑定到dw2;
当你双击dw1某行时,直接取当前激活行相应单元格的值,目的把共同的值插入到dw2dw1.Rows[dw2.CurrentRow.Index].Cells["销售代表姓名"].Value.ToString();//dw1表必有此字段
dw1.Rows[dw2.CurrentRow.Index].Cells["销售编码"].Value.ToString(); //dw1表必有此字段
dw1.Rows[dw2.CurrentRow.Index].Cells["所属会计区间"].Value.ToString();//dw1表必有此字段因为你想要在dw2添加dw1主记录明细,所以你可以这样做,当你点dw1某记录时弹出一个子窗体,而这个子窗体里有《销售代表姓名》、《销售编码》、《所属会计区间》相应的TextBox 接收前面三个值,当然还有其它TextBox是明细其它字段,这样子窗体上有一个《保存按钮》,在《保存按钮》写插入到dw2语句就可以了。
dw1.Rows[dw1.CurrentRow.Index].Cells["销售代表姓名"].Value.ToString();//dw1表必有此字段
dw1.Rows[dw1.CurrentRow.Index].Cells["销售编码"].Value.ToString(); //dw1表必有此字段
dw1.Rows[dw1.CurrentRow.Index].Cells["所属会计区间"].Value.ToString();//dw1表必有此字段
dw2的添加按钮的click事件dw2.CurrentRow.Cells["uid"].Value = dw1.CurrentRow.Cells["uid"].Value.ToString();这样可以实现我要求的效果。
方法二:( 不成功)
我想用dw2的DefaultValuesNeeded
e.Row.Cells["uid"].Value = dw1.CurrentRow.Cells["uid"].Value.ToString();请问这是为什么?错在哪里?