4

データテーブルを作成し、それに多くの列を追加しました。

データテーブルが空の場合、特定の列に値を割り当てたいと思います。

データテーブルで列名を見つけてそれに値を割り当てるようなものです...それは可能ですか?ありがとう

        dt_FAQ.Columns.Add("FQ_Question_1", typeof(string));
        dt_FAQ.Columns.Add("FQ_Answer_1", typeof(string));
        dt_FAQ.Columns.Add("FQ_Question_2", typeof(string));
        dt_FAQ.Columns.Add("FQ_Answer_2", typeof(string));
        dt_FAQ.Columns.Add("FQ_Question_3", typeof(string));
        dt_FAQ.Columns.Add("FQ_Answer_3", typeof(string));
        dt_FAQ.Columns.Add("FQ_Question_4", typeof(string));
        dt_FAQ.Columns.Add("FQ_Answer_4", typeof(string));
        dt_FAQ.Columns.Add("FQ_Question_5", typeof(string));
        dt_FAQ.Columns.Add("FQ_Answer_5", typeof(string));

上記のデータテーブルの列「FQ_Answer_1」に割り当てる必要のある値のみを取得するシナリオがあります。その場合、その列だけに値を割り当て、空の文字列""を他の列に渡します。可能 ?

4

2 に答える 2

7

内部にデータがある既存のデータテーブルの場合、データテーブルの行を反復処理し、各列に値を設定する必要があります

foreach(DataRow dr in dt_FAQ.Rows)
{
     dr["FQ_Answer_1"] = "your value";
     dr["FQ_Question_1"] = string.Empty;
     dr["FQ_Question_2"] = string.Empty;
     //.... for all the columns
}

特定の列を見つけるには、次のことができます。

    DataColumn dc = dt.Columns.Cast<DataColumn>().Where(r => r.ColumnName == "yourname").FirstOrDefault();
   //Or simpler 
    DataColumn dc2 = dt.Columns["yourcol"];

編集: 新しい行の場合:

DataRow dr = dt_FAQ.NewRow();
dr["FQ_Answer_1"] = "some value";
dt_FAQ.Rows.Add(dr);

これにより、 column に「何らかの値」を持つ新しい行が作成され、FQ_Answer1残りのすべての列にはstring.Emptyデフォルト値が設定されます。

次のような他の列を確認できます。

string test = dt_FAQ.Rows[0]["FQ_Question_1"].ToString();

ここで test には空の文字列が含まれます。

于 2012-06-28T09:16:49.577 に答える
0

どうですか

 DataRow dr = mydatatable.NewRow();

 dr[0] = 1;                // Assuming that first column is int type
 dr[0] = "someothervalue"; //Assuming that second column is string type
 ..
 ..
 ..
 .. // Repeat for other columns.
 mydatatable.AddRow(dr);
于 2012-06-28T09:08:30.350 に答える