2

C# 2008 SP1。

我正在从当前在 datagridview 上选择的行中删除一行。

我正在使用 Typed 数据集,并且我的 datagridview 绑定到绑定源。

但是,我认为我的技术不是最好的,即使它有效。

非常感谢您的任何建议,

 DataRow[] drDelete;
            // Get the value of the PK from the currently selected row
            DataRowView drv = (DataRowView)bsAddressBook.Current;
            int index = Convert.ToInt16(drv[0]);

            // Find the actual data row from the primary key and delete the row
            drDelete = dsCATDialer.AddressBook.Select(string.Format("ID = '{0}'", index));
            dsCATDialer.AddressBook.Rows.Remove(drDelete[0]);
4

2 回答 2

5

您也可以使用 BindingSource 直接删除:

bsAddressBook.RemoveCurrent();
于 2009-05-15T08:00:46.457 回答
3

我认为您可以使用 DataRowView 的 Row 属性来缩短它。

// Get the value of the PK from the currently selected row
DataRowView drv = (DataRowView)bsAddressBook.Current;

DataRow drDelete = drv.Row;
dsCATDialer.AddressBook.Rows.Remove(drDelete);
于 2009-05-15T07:51:29.180 回答