【发布时间】:2017-06-13 09:52:46
【问题描述】:
我正在创建一个应用程序,并且我有一部分在表格中包含数据(datagridview)。在此表中,我还在每一行上都有一个按钮。
我的目标是单击一个按钮,以从表和应用程序将获取信息的数据库中删除单击该按钮的行。
我的代码如下:
public void update_tabelas()
{
string queryprodutos = "SELECT * FROM produtos;";
DataTable dtprodutos = new DataTable();
MySqlCommand cmdprod = new MySqlCommand(queryprodutos, mConn);
MySqlDataAdapter daprod = new MySqlDataAdapter(cmdprod);
mConn.Open();
daprod.Fill(dtprodutos);
mConn.Close();
this.tabelaprodutos.DataSource = dtprodutos;
DataGridViewColumn col = new DataGridViewButtonColumn();
col.Name = "Delete";
col.DataPropertyName = "Delete";
col.ReadOnly = true;
this.tabelaprodutos.Columns.Add(col);
}
此代码将填充表格并在每一行添加删除按钮。
现在我不知道如何从表和数据库中删除这些数据。
感谢任何建议和帮助。
【问题讨论】:
-
您应该从数据库中删除该行,然后重置网格数据源。您可以使用网格
CellMouseClick事件来查看是否单击了“删除”按钮列,如果是,您将知道要删除哪一行。你有没有尝试过? -
不,我还没试过。
-
嗯...保持简单...首先设置
CellMouseClick事件并让它调用一个方法,该方法显示一个简单的消息框以显示单击了哪一行。完成该工作后,添加代码以从数据库中删除该行,然后将数据源重新设置为网格。尝试一些东西,如果它不起作用,请回到这里。 -
@JohnG 我应该把这个事件的代码放在哪里?在加载形式或其他任何地方?而且我不知道如何创建这个事件。
-
请参阅 How to handle click event in Button Column in Datagridview 以设置
CellContentClick事件。在这种情况下,调用您的 SQL 删除查询并根据需要进行更新。
标签: c# mysql datagridview