datatable 结构 如下
姓名 语文 数学 总分
张三 60 70 130
李四 70 60 130
王五 90 90 180
赵六 99 90 189想要的datatable结果为:
姓名 语文 数学 总分 名次
张三 60 70 130 3
李四 70 60 130 3
王五 90 90 180 2
赵六 99 90 189 1
请高手给指点一下 在下不胜感激
姓名 语文 数学 总分
张三 60 70 130
李四 70 60 130
王五 90 90 180
赵六 99 90 189想要的datatable结果为:
姓名 语文 数学 总分 名次
张三 60 70 130 3
李四 70 60 130 3
王五 90 90 180 2
赵六 99 90 189 1
请高手给指点一下 在下不胜感激
_Table.Columns.Add("姓名");
_Table.Columns.Add("语文");
_Table.Columns.Add("数学");
_Table.Columns.Add("总分");
_Table.Rows.Add(new object[] { "张三", 60, 70, 130 });
_Table.Rows.Add(new object[] { "李四", 70, 60, 130 });
_Table.Rows.Add(new object[] { "王五", 90, 90, 180 });
_Table.Rows.Add(new object[] { "赵六", 99, 90, 189 });
_Table.Columns.Add("名次"); int _Count=1;
string _Filter="1=1";
string _Max="";
while (true)
{
_Max = _Table.Compute("Max(总分)", _Filter).ToString();
if (_Max.Length == 0) break;
_Filter += " AND 总分 <>" + _Max;
DataRow[] _Row = _Table.Select("总分=" + _Max);
for (int i = 0; i != _Row.Length; i++)
{
_Row[i]["名次"] = _Count;
}
_Count++;
if (_Row.Length == 0) break;
}