【问题标题】:How can we filter datatable in c#?我们如何在 C# 中过滤数据表?
【发布时间】:2010-02-04 05:35:14
【问题描述】:

我对无法获得的数据表有特定要求。请帮我解决我的问题。我的查询如下

  1. 我的数据表是
       C1  C2  C3  C4  C5
R1    1   2   3   4   25
R2    6   7   8   24  10
R3    11  22  13  14  15
R4    16  17  23  19  20
R5    21  7   18  9   5
  1. 在输出中,我希望每个列的最大值与行和列的位置(索引)如下
Value  Row Column
21    R5  C1
22    R3  C2
23    R4  C3
24    R2  C4
25    R1  C5

任何人都可以帮助我,我应该如何取得结果?

【问题讨论】:

    标签: c# asp.net ado.net datatable


    【解决方案1】:

    假设列名是 C1、C2、C3、C4、C5。

    伪代码/算法。

    int C1_MaxValue, C2_MaxValue, C3_MaxValue, C4_MaxValue, C5_MaxValue;
    string C1_Row, C2_Row, C3_Row, C4_Row, C5_Row;
    
    //Initialize row1 values as max values.
    C1_MaxValue = DataTable.Rows[1]["C1"];
    C2_MaxValue = DataTable.Rows[1]["C2"];
    C3_MaxValue = DataTable.Rows[1]["C3"];
    C4_MaxValue = DataTable.Rows[1]["C4"];
    C5_MaxValue = DataTable.Rows[1]["C5"];
    
    //Set R1 as row for max values.
    C1_Row = C2_Row = C3_Row = C4_Row = C5_Row = DataTable.Rows[1][Row1];
    
    For (i=2 to RowCount -1)
    
     if(Datatable.Rows[i]["C1"] > C1_MaxValue) 
     {       
          C1_MaxValue = Datatable.Rows[i][C1]; 
          C1_Row = Datatable.Rows[i][0];
     }
     //Do the above for all other columns.
    End For
    

    上述变量的最后应该包含最大值和对应的最大行数。

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2015-11-20
      • 2014-05-15
      • 2019-10-15
      • 2021-08-01
      • 1970-01-01
      相关资源
      最近更新 更多