编程创建的数据表列MaxLength错误

本文关键字:MaxLength 错误 数据表 创建 编程 | 更新日期: 2023-09-27 18:03:17

我有一个情况,我需要修改现有的DataTable。@Shai Cohen提供了代码,但由于实时数据不同,我在我正在修改的列上得到一个异常MaxLimit违规。

我试图改变代码中的with,但它一直抛出错误。下面是代码(参见我的注释):

public DataTable PrepareDataTable(DataTable dtResults)
{
   string[] subCategories = new string[3] {"Critical Down Time", "Critical Outage", "Total Repair Time"};
    DataTable dtOutput = dtResults.Clone();
    DataRow drOutput = null;
    DataRow[] drResults = null;
    var categories = dtResults.AsEnumerable().Select(r => r["Category"]).Distinct().ToList();
    foreach (string category in categories)
    {
        for (int i = 0; i < subCategories.Length    ; i++)
        {
            drOutput = dtOutput.NewRow();
            drOutput["Category"] = category;
            drOutput["SubCategory"] = subCategories[i];
            drResults = dtResults.Select(String.Format("Category = '{0}' AND SubCategory = '{1}'", category, subCategories[i]));
            if(drResults.Length > 0)
            {
                foreach(DataColumn column in dtResults.Columns)
                {
                     drOutput[column.ColumnName] = drResults[0][column.ColumnName];
    **I've tried**   drOutput[column.MaxLength] = Unit.Pixel(500);
    **or just a number but no use**       
                }
            }
     **Error >>>** dtOutput.Rows.Add(drOutput);
        }
        drOutput = dtOutput.NewRow();
        dtOutput.Rows.Add(drOutput);
    }
    return dtOutput;
}

编程创建的数据表列MaxLength错误

你的台词:

drOutput[column.MaxLength]

正在尝试从行中抓取特定列…在本例中,不是第一列或第二列,而是列。最大长度列。

试题:

drOutput.Table.Columns[column.ColumnName].MaxLength = some_length;