DataColumn设置默认值

时间:2015-01-15 03:48:30

标签: c# datatable datacolumn

我正在尝试为DataColumn设置默认值。如何为以下代码

设置DataColumn(column3)的默认值
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { 
                                        new DataColumn("Column1", typeof(String)),
                                        new DataColumn("Column2", typeof(String)), 
                                        new DataColumn("Column3", typeof(String)),
                                     });

string csvData = File.ReadAllText(csvPath);

foreach (string row in csvData.Split('\n'))
{
    if (!string.IsNullOrEmpty(row))
    {
        dt.Rows.Add();
        int i = 0;
        foreach (string cell in row.Split(','))
        {
            dt.Rows[dt.Rows.Count - 1][i] = cell;
            i++;
        }
    }
}

4 个答案:

答案 0 :(得分:7)

列有一个" DefaultValue"财产,所以你可以做

dt.Columns["Column1"].DefaultValue = "testing";
dt.Columns["Column2"].DefaultValue = "blah";
dt.Columns["Column3"].DefaultValue = "";

Then, when you do

DataRow dr = dt.NewRow();

dr.columns 1,2和3将具有相应的默认值

答案 1 :(得分:3)

DataColumn类中有一个DefaultValue属性。

dt.Columns["Column3"].DefaultValue = "default"; 

请参阅http://msdn.microsoft.com/en-us/library/system.data.datacolumn%28v=vs.110%29.aspx

答案 2 :(得分:0)

当我们在DataTable中插入新的DataRow时可以使用的默认值。

dt.Columns["Col"].DefaultValue="Name";

要将默认值添加到所有行,我们必须对Datatable中的每个循环使用

答案 3 :(得分:0)

您也可以使用Columns.Add的返回值来完成

var col = result.Columns.Add("Column1", typeof(CellObject));
col.DefaultValue = new CellObject { Value = null };