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フォームグリッドについては、こちらをご覧ください

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 に答える