2011-09-21 91 views
0

当我有一个表格(Form1中)有一个DataGridView来自一个名为“订单”表中列出的客户订单。当在dataGridView中选择一个订单并按下EnterKey时,弹出另一个窗体(窗体2)。此弹出窗体2具有另一个dataGridView,支持添加行,其中用户输入与选定订单相关的新记录到名为“OrderDetails”的表中,该表具有名为OrderNumber的外键列,该列指的是表“订单”中的OrderNumber列。 。问题与DataGridView中列默认值添加一个新的行

问题:

当用户从在DataGridView Form 2上到OrderDetails表进入一个新的记录,我想自动填充的柱ORDERNUMBER。它的值应该是form1上所选记录的订单号值,以便用户不必手动键入它已知的值。帮帮我。

datagridview绑定到bidningSource。

回答

3

刚刚得到它的工作我想与

private void dataGridView1_DefaultValuesNeeded(object sender, 
    System.Windows.Forms.DataGridViewRowEventArgs e) 
{ 

    e.Row.Cells["CustomerNumber"].Value = myOrderNumberValue; 

} 
方式
2

您可以在BindingSource上看到一个名为'AddingNew'的事件。在这里您可以指定新对象及其属性。就像这样:

private void BindingSource_AddingNew(object sender, System.ComponentModel.AddingNewEventArgs e) 
{ 
    OrderDetailLIne odl = new OrderDetailLIne(); 
    odl.OrderNumber = _orderNumber; 
    e.NewObject = odl; 
}