1
我想为已绑定的datagridview的列的每一行添加一个按钮,并为其添加一个事件(在VS 2005中,Windows应用程序)。如何在Windows应用程序中已绑定的datagridview的列的每一行中添加按钮?
我搜查了很多,但无法找到工作解决方案。
我想为已绑定的datagridview的列的每一行添加一个按钮,并为其添加一个事件(在VS 2005中,Windows应用程序)。如何在Windows应用程序中已绑定的datagridview的列的每一行中添加按钮?
我搜查了很多,但无法找到工作解决方案。
之前绑定到数据源集:
grd.AutoGenerateColumns = false;
自己创建的所有DataGridView列,并将其绑定到数据源:
DataGridViewTextBoxColumn dgvc = new DataGridViewTextBoxColumn();
dgvc.HeaderText = "column_header";
dgvc.DataPropertyName = "column_name";
创建DataGridViewButtonColumn。
DataGridViewButtonColumn dgvbt = new DataGridViewButtonColumn();
如果你想此列不绑定,设置标题文本上的所有按钮相同的文字:
dgvbt.HeaderText = "OK?";
dgvbt.Text = "ok"; // works also when bound
dgvbt.UseColumnTextForButtonValue = true; //
如果你希望你的列也有界,并且每个按键有潜在的文本细胞,将其绑定:
dgvbt.DataPropertyName = "column_bt";
添加创建的列到DataGridView:
grd.Columns.Add(dgvc);
grd.Columns.Add(dgvbt);
处理的DataGridView的CellClick事件:
grd.CellClick += new DataGridViewCellEventHandler(grd_CellClick);
void grd_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == index_of_button_column)
{
MessageBox.Show(this, e.RowIndex.ToString() + " Clicked!");
//...
}
}
更多,请参阅:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewbuttoncolumn.aspx