Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
587 views
in Technique[技术] by (71.8m points)

c# - Define DataGridView Column type Programmatically

I need a way in which I can define the column type at run-time.

Here is my code:

foreach (DataGridViewColumn column in this.dataGrid.Columns)
{
???
//i.e. column.type  = checkbox
}

How can I define the column type in this foreach loop?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I'm not 100% certain I understand you question, but you can specify the column type when you create the column:

foreach (var definition in columnDefinitions)  // Some list of what the column types are
{
    var columnSpec = new DataColumn
        {
            DataType = definition.Type, // This is of type System.Type
            ColumnName = defintion.Name // This is of type string
        };

    this.dataGrid.Columns.Add(columnSpec);
}

If you need to change the type once it's been created - you can't do that. The best you can do is delete the columns and recreate them with the new types.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...