0

DataTable があり、プログラムで列を追加します (したがって、列のセット数はありません)。

MyTable.Columns.Add(Value.name, typeof(double)); 

次に、データのテーブルに空の行を追加します。

MyTable.Rows.Add(0);       

「価格」、「数量」、「入札」などの行ラベルを追加したい これらを私が知っている方法で追加する場合、列の数を知る必要があります

列の数が静的でない場合、これをより堅牢にするにはどうすればよいですか? ありがとう

4

3 に答える 3

1

ヘッダー行を持つことはできません。
テーブルはプレゼンテーションではなくデータを保存します。

列を設定する必要がありますName

于 2013-09-16T16:59:06.380 に答える
0

You may access columns in the Columns collection.

I will demonstrate the itteration using a list of strings:

List<string> columns = new List<string>();
columns .Add("price");
columns .Add("quantity");
columns .Add("bid");
columns .Add("price");

foreach(string columnName in columns)
{
    if(MyTable.Columns[columnName] == null)
    {
        //Col does not exist so add it:
        MyTable.Columns.Add(columnName);
    } 
}

Notice that the list has the column price twice, but it will only add it once.

public DataTable GetDataTable() 
{ 
    var dt = new DataTable(); 
    dt.Columns.Add("Id", typeof(string)); // dt.Columns.Add("Id", typeof(int));    
    dt.Columns["Id"].Caption ="my id"; 
    dt.Columns.Add("Name", typeof(string)); 
    dt.Columns.Add("Job", typeof(string)); 
    dt.Columns.Add("RowLabel", typeof(string));
    dt.Rows.Add(GetHeaders(dt)); 
    dt.Rows.Add(1, "Janeway", "Captain", "Label1"); 
    dt.Rows.Add(2, "Seven Of Nine", "nobody knows", "Label2"); 
    dt.Rows.Add(3, "Doctor", "Medical Officer", "Label3"); 
    return dt; 
}
于 2013-09-16T16:56:53.170 に答える
0

DataTable メンバーを見てください。 http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx

var columnCount = MyTable.Columns.Count;
于 2013-09-16T16:58:11.310 に答える