如何隐藏Datagridview的最后一行(“假”)行中的按钮?

时间:2010-09-02 08:04:12

标签: c# button datagridview row

在我的dgv中,我有一个DataGridViewButtonColumn,它为每一行添加了一个“删除行”按钮。但是,也会为dgv底部的“假”行创建一个按钮,这在此上下文中没有任何意义,因为该行尚未对应于记录。什么是隐藏该按钮的好方法,或至少涂在它上面?

我遇到了this page,它显示了一种方法,可以解决这个问题,但我想知道是否有更好的方法可以解决这种特殊情况。

3 个答案:

答案 0 :(得分:1)

没有更好的方法,你需要扩展类DataGridViewButtonCell:

How to: Disable Buttons in a Button Column

答案 1 :(得分:1)

很难控制“假行”中的控件。要解决此问题,您可以设置dgv.AllowUserToAddRows = false以避免“假行”。然后用户的输入不会出现假行。您可以添加另一个名为“添加行”的按钮来添加“实际行”。您还可以将事件处理程序添加到最后一行,例如如果用户在最后一行输入内容,则会添加一个新行(实际行)。

一般来说,您可以使用实际行而不是假行中的行为,因为实际行更容易控制。

答案 2 :(得分:0)

尝试使用网格的RowDataBound事件。

protected void gridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        Int32 cellIndex = 1; //Find your delete button cell index
        e.Row.Cells(cellIndex).CssClass = "hidden"; // whatever class you like to hide the cell
    }
}