0

既存の を変更する必要がある状況があり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;
}
4

1 に答える 1

1

あなたの行:

drOutput[column.MaxLength]

行から特定の列を取得しようとしています...この場合、最初の列または2番目の列ではなく、column.MaxLength列です。

試す:

drOutput.Table.Columns[column.ColumnName].MaxLength = some_length;
于 2013-03-11T17:23:01.867 に答える