【发布时间】:2011-03-17 18:01:27
【问题描述】:
在 .NET 3.5 winforms 应用程序中,我有一个 DataGridView 组件,它使用 TableAdapter 连接 MySQL 数据库。
我可以通过向BindingSource_AddingNew 事件添加代码来添加新记录。
private void someBindingSource_AddingNew(object sender, AddingNewEventArgs e)
{
DataRow ThisDataRow = ((DataRowView)((BindingSource)sender).Current).Row;
if (ThisDataRow.RowState == DataRowState.Added)
{
someTableAdapter.Insert(ThisDataRow.ItemArray[1].ToString());
}
}
我可以通过向BindingSource_CurrentItemChanged 事件添加代码来更新记录。
private void someBindingSource_CurrentItemChanged(object sender, EventArgs e)
{
DataRow ThisDataRow = ((DataRowView)((BindingSource)sender).Current).Row;
if (ThisDataRow.RowState == DataRowState.Modified)
{
someTableAdapter.Update(ThisDataRow);
}
}
如何处理删除事件?
** 更新 1 **
为了处理删除事件,添加了一个按钮(您需要在按下按钮之前选择行):
private void btnDelete_Click(object sender, EventArgs e)
{
Int32 selectedRowCount = dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (selectedRowCount > 0)
{
for (int i = 0; i < selectedRowCount; i++)
{
//delete from database
someTableAdapter.Delete(Convert.ToUInt16(dataGridView1.Rows[dataGridView1.SelectedRows[i].Index].Cells[0].Value));
//refresh datagridview
this.dataGridView1.Rows.RemoveAt(this.dataGridView1.SelectedRows[i].Index);
}
}
【问题讨论】:
标签: c# winforms .net-3.5 datagridview