在Windows窗体中向datagridview添加按钮

时间:2012-05-03 15:14:32

标签: c# winforms data-binding dataset

我想在datagridview上添加两个按钮。现在他们在右边。但我想在左边找到它们。

另一件事是我想为"编辑"添加更新事件。按钮。是吗

private void Edit_Click(object sender, EventArgs e)
{

}

表格代码:

private void Form1_Load(object sender, EventArgs e)
{
   // TODO: This line of code loads data into the 'qDataSet.Metric' table. 
   // You can move, or remove it, as needed.
   this.metricTableAdapter.Fill(this.qDataSet.Metric);
   DataGridViewButtonColumn EditColumn = new DataGridViewButtonColumn();
   EditColumn.Text = "Edit";
   EditColumn.Name = "Edit";
   EditColumn.DataPropertyName = "Edit";
   dataGridView1.Columns.Add(EditColumn);
   DataGridViewButtonColumn DelColumn = new DataGridViewButtonColumn();
   DelColumn.Text = "Delete";
   DelColumn.Name = "Delete";
   DelColumn.DataPropertyName = "Delete";
   dataGridView1.Columns.Add(DelColumn);
}

图片喜欢: buttons

谢谢。

4 个答案:

答案 0 :(得分:5)

您似乎已经从设计师那里设计了datagridview。

您可以使用允许编辑列的向导。在那里你将添加两列(一列用于编辑,另一列用于删除)。您可以选择要设置这些列的位置。 按钮的文本使用属性“Text”定义,您也可以设置属性“UseColumnTextForButton”。

您可以在CellContentClickEvent中轻松管理单击的列和行,然后执行该任务。

如果您想管理访问权限(例如允许某人编辑而其他人不编辑),您可以使用此列的显示/隐藏功能。

答案 1 :(得分:1)

请参阅DisplayIndex

  

列显示在关联的DataGridView中的从零开始的位置,如果控件中不包含该列,则为-1。

EditColumn.DisplayIndex = 0;
DelColumn.DisplayIndex = 1;

答案 2 :(得分:0)

您无法直接订阅“编辑”按钮事件。 因此,决定订阅CellClick事件并检查按下哪个

是的,对于列位置集DisplayIndex属性

答案 3 :(得分:0)

DataGridViewButtonColumn ButtonColumn = new DataGridViewButtonColumn();
ButtonColumn.Name = "Print";
ButtonColumn.HeaderText = "Print";

ButtonColumn.FlatStyle = FlatStyle.Popup;
ButtonColumn.DefaultCellStyle.ForeColor = Color.White;
ButtonColumn.DefaultCellStyle.BackColor = Color.CadetBlue;
ButtonColumn.Text = "Print";
ButtonColumn.UseColumnTextForButtonValue = true;
int columnIndex = 12; /*your column index number*/
if (dtGridTicket.Columns["Print"] == null)
{
    dtGridTicket.Columns.Insert(columnIndex, ButtonColumn);
}

如果加载页面列索引隐藏,以便使用

dtGridTicket.Columns.RemoveAt(12);