2017-12-15 20 views
0

文字列値に基づいてDataGridViewColumnを動的に作成します。文字列からDataGridView列を生成

DataGridViewTextBoxColumn col1= new DataGridViewTextBoxColumn(); 
col1.Name = "LineID"; 
dgv.Columns.Add(col1); 

は今、私は、データベース内の値を取得するように動的に作成したい:DataGridViewColumnを設定する場合たとえば、私は以下のコードを使用しています。これが可能である

strColumnType strColumnName = new strColumnType(); 

string strColumnType = "DataGridViewTextBoxColumn" 
string strColumnName = "Col1" 

は、このような列を作成します。その値に基づいて列を作成しますか?どうやって?

+0

をはい、それは可能です。どのように可能かは、ドキュメントに記載されています。 – user743414

+1

いつでも 'switch/case'を使って値をチェックし、別の列を作成することができます。他の解決法もある。 [Activator.CreateInstance](https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(v = vs.110).aspx)。 – Sinatr

答えて

0

@Sinatrコメントとして、switchステートメントを使用して、各文字列の目的の列タイプを返すことができます。マッチタイプを返す関数ウィッヒを作成します。

DataGridViewColumn GetColumn(string type) 
{ 
    switch (type) 
    { 
     case "DataGridViewTextBoxColumn": 
      return new DataGridViewTextBoxColumn(); 
     case "DataGridViewComboBoxColumn": 
      return new DataGridViewComboBoxColumn(); 
     //case XYZ: return XYZ 
     default: 
      return null; 
    } 
} 

、あなたは書くことができます:

DataGridViewColumn col1 = GetColumn(strColumnType); 
関連する問題