我有一个由查询结果集填充的列表框,我想让用户能够编辑列表框的内容,并更新数据库后端,我该如何实现?
public Brand_Manager(Main parent)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString.ToString());
SqlCommand cmd = new SqlCommand("select Brand_ID, Brand_Name from Brand where status=1", conn);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable t = new DataTable();
da.Fill(t);
listBox1.DisplayMember = "Brand_Name";
listBox1.DataSource = t;
listBox1.ValueMember = "Brand_ID";
conn.Close();
}
private void Edit_Button_Click(object sender, EventArgs e)
{
this.Edit_Button.Enabled = false;
object item = listBox1.SelectedItem;
Edit_Brand frm = new Edit_Brand();
this.AddOwnedForm(frm);
frm.ShowDialog();
}
答案 0 :(得分:0)
您需要使用datagridview来实现此目的。它是为此目的而设计的。您可以将数据源分配给gridview,并允许用户编辑行。然后通过处理行编辑事件或通过给出按钮,您可以更新数据库。查看示例here
答案 1 :(得分:0)
您使用WPF还是WinForms?无论如何,您需要调查WinForms中的Bindings
:BindingSource
或WPF中的Binding
类(http://msdn.microsoft.com/en-us/library/ms750612.aspx)。
答案 2 :(得分:0)
查看DataTable事件http://msdn.microsoft.com/en-us/library/system.data.datatable_events.aspx。有RowChangedEvent。在其处理程序中调用update sql命令。