1

我在每一行都有一个具有不同控件类型的 DataGridView 现在我想根据该控件类型在每一行中创建控件是否可能?如果是,那么如何?

4

1 回答 1

0

您可以在网格的 OnRowDatabound 上添加控件,然后您可以在行中添加控件

要将控件添加到单元格,请使用

void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    GridViewRow row = e.Row as GridViewRow;
    if (row != null)
    {
        MyObject myObject = new MyObject();
        row.Cells[0].Controls.Add(myObject);
    }
}

要将控件添加到整行,请使用

void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    GridViewRow row = e.Row as GridViewRow;
    if (row != null)
    {
        MyObject myObject = new MyObject();
        row.Controls.Add(myObject);
    }
}

在这里查看 windows 窗体 Grid

您可以通过继承 DataGridViewColumn 类或其任何派生类来创建自己的列类,以提供自定义外观、行为或托管控件。有关详细信息,请参阅如何:通过扩展其行为和外观来自定义 Windows 窗体 DataGridView 控件中的单元格和列

http://msdn.microsoft.com/en-us/library/bxt3k60s%28v=vs.80%29.aspx

如何:通过扩展其行为和外观来自定义 Windows 窗体 DataGridView 控件中的单元格和列
http://msdn.microsoft.com/en-us/library/7fb61s43%28v=vs.80%29.aspx

于 2012-07-16T09:42:08.370 回答