繁体   English   中英

以windows形式向datagridview添加按钮

[英]Add buttons to datagridview in windows form

我想在 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);
}

图片喜欢:纽扣

谢谢你。

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

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

您可以在 CellContentClickEvent 中轻松管理被单击的列和行,然后完成工作。

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

见显示DisplayIndex

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

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

您不能直接订阅编辑按钮事件。 因此,决定订阅CellClick事件并检查按下了哪些

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

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM