2

データ テーブルのフィールドの 1 つに値をハード コードするにはどうすればよいでしょうか。これは私が持っているものです。

//create Data table to temporary storage

DataTable myTable = new DataTable();
protected void createTable(DataTable myTable)
    {


        myTable.Columns.Add("PilotID");
        myTable.Columns.Add("Start_date");
        myTable.Columns.Add("End_date");
        myTable.Columns.Add("Hours");
    }
4

4 に答える 4

3

DataColumn.Expressionを使用して、列を定数値に設定できます。

例えば:

// For a number
myTable.Columns["PilotID"].Expression = "1";
// For a string
myTable.Columns["PilotID"].Expression = "'MyPilot'";

次に、データ テーブルに追加されるすべての行は、列に同じ定数値を持ちます。一部のコードが定数値を変更しようとすると、DataRow も例外をスローします。

于 2013-02-07T19:57:41.767 に答える
2
DataTable myTable = new DataTable();

myTable.Columns.Add("PilotID");
myTable.Columns.Add("Start_date");
myTable.Columns.Add("End_date");
myTable.Columns.Add("Hours");

DataRow dr = myTable.NewRow();
dr["PilotID"] = 1;
myTable.Rows.Add(dr);

myTable.Rows[0]["PilotID"] = 1;
于 2013-02-07T19:54:35.013 に答える
0

この方法で試すことができます!

    string[] TABLE_COLUMNS = new string[] { "PilotID", "Start_date", "End_date", "Hours", };
    static void Main()
    {

        var i_need_new_table = HardCodedDataTable();
        var i_need_one_more_new_table = HardCodedDataTable(TABLE_COLUMNS);

    }

    private static DataTable HardCodedDataTable() // default hard-coded table
    {
        DataTable myTable = new DataTable();
        myTable.Columns.Add("PilotID");
        myTable.Columns.Add("Start_date");
        myTable.Columns.Add("End_date");
        myTable.Columns.Add("Hours");
        return myTable;
    }

    private static DataTable HardCodedDataTable(string[] columns) // table with predefined columns in array
    {
        DataTable myTable = new DataTable();
        Array.ForEach(columns, s => myTable.Columns.Add(s));
        return myTable;
    }
于 2013-02-07T19:52:58.757 に答える
0

グローバル設定またはクラス フィールドを使用して、テーブルのフィールドに割り当てます。を取得したらNewRow()、次のようにします。

myNewRow["ConstantField"] = Settings.SpecialValue;

アップデート

@ shf301が示唆するように、式を使用する方が良いでしょう。ただし、設定を使用してハードコードされた値を保存することをお勧めします。

myTable.Columns["PilotID"].Expression = Settings.SpecialValue;
于 2013-02-07T19:47:32.160 に答える