110,536
社区成员
发帖
与我相关
我的任务
分享
Dim temp As DataTable
Dim dv As DataView
dv = dt.DefaultView
dv.Sort = "语文 asc"
temp = dv.ToTable
temp.Columns.Add("_pm", System.Type.GetType("System.Decimal"))
Dim x As Integer = 1
For i As Integer = 0 To temp.Rows.Count - 1
temp.Rows(i).Item("_pm") = x
If i <> temp.Rows.Count - 1 Then
If temp.Rows(i).Item("语文").ToString <> temp.Rows(i + 1).Item("语文").ToString Then
x = x + 1
End If
End If
Next
For i As Integer = 0 To dt.Rows.Count - 1
Dim a = temp.Select("姓名='" + dt.Rows(i)("姓名") + "'")
Dim index = temp.Rows.IndexOf(a(0))
dt.Rows(i)("语文名次") = a(0).item("_pm")
Next
//datatable 结构 如下
// 姓名 语文 数学 英语
// 张三 60 70 88
// 李四 70 60 67
// 王五 90 90 77
// 赵六 80 90 89
{
DataTable dt = new DataTable();
dt.Columns.Add("姓名");
dt.Columns.Add("语文", typeof(System.Int32));
dt.Columns.Add("数学", typeof(System.Int32));
dt.Columns.Add("英语", typeof(System.Int32));
dt.Columns.Add("语文名次", typeof(System.Int32));
dt.Columns.Add("数学名次", typeof(System.Int32));
dt.Columns.Add("英语名次", typeof(System.Int32));
DataRow row = null;
row = dt.NewRow();
row["姓名"] = "张三";
row["语文"] = "60";
row["数学"] = "70";
row["英语"] = "88";
dt.Rows.Add(row);
row = dt.NewRow();
row["姓名"] = "李四";
row["语文"] = "70";
row["数学"] = "60";
row["英语"] = "67";
dt.Rows.Add(row);
row = dt.NewRow();
row["姓名"] = "王五";
row["语文"] = "90";
row["数学"] = "90";
row["英语"] = "77";
dt.Rows.Add(row);
row = dt.NewRow();
row["姓名"] = "赵六";
row["语文"] = "80";
row["数学"] = "90";
row["英语"] = "89";
dt.Rows.Add(row);
DataTable temp = null;
DataView dv = null;
dv = dt.DefaultView;
dv.Sort = "语文 asc";
temp = dv.ToTable();
for (int i = 0; i <= dt.Rows.Count - 1; i++) {
DataRow[] a = temp.Select("姓名='" + dt.Rows[i]["姓名"] + "'");
int index = temp.Rows.IndexOf(a[0]);
dt.Rows[i]["语文名次"] = index + 1;
}
dv = dt.DefaultView;
dv.Sort = "数学 asc";
temp = dv.ToTable();
for (int i = 0; i <= dt.Rows.Count - 1; i++) {
DataRow[] a = temp.Select("姓名='" + dt.Rows[i]["姓名"] + "'");
int index = temp.Rows.IndexOf(a[0]);
dt.Rows[i]["数学名次"] = index + 1;
}
dv = dt.DefaultView;
dv.Sort = "英语 asc";
temp = dv.ToTable();
for (int i = 0; i <= dt.Rows.Count - 1; i++) {
DataRow[] a = temp.Select("姓名='" + dt.Rows[i]["姓名"] + "'");
int index = temp.Rows.IndexOf(a[0]);
dt.Rows[i]["英语名次"] = index + 1;
}
dv.Sort = "";
this.DataGridView1.DataSource = dt;
}
//datatable 结构 如下
// 姓名 语文 数学 英语
// 张三 60 70 88
// 李四 70 60 67
// 王五 90 90 77
// 赵六 80 90 89
{
DataTable dt = new DataTable();
dt.Columns.Add("姓名");
dt.Columns.Add("语文", typeof(System.Int32));
dt.Columns.Add("数学", typeof(System.Int32));
dt.Columns.Add("英语", typeof(System.Int32));
dt.Columns.Add("语文名次", typeof(System.Int32));
dt.Columns.Add("数学名次", typeof(System.Int32));
dt.Columns.Add("英语名次", typeof(System.Int32));
DataRow row = null;
row = dt.NewRow();
row["姓名"] = "张三";
row["语文"] = "60";
row["数学"] = "70";
row["英语"] = "88";
dt.Rows.Add(row);
row = dt.NewRow();
row["姓名"] = "李四";
row["语文"] = "70";
row["数学"] = "60";
row["英语"] = "67";
dt.Rows.Add(row);
row = dt.NewRow();
row["姓名"] = "王五";
row["语文"] = "90";
row["数学"] = "90";
row["英语"] = "77";
dt.Rows.Add(row);
row = dt.NewRow();
row["姓名"] = "赵六";
row["语文"] = "80";
row["数学"] = "90";
row["英语"] = "89";
dt.Rows.Add(row);
DataTable temp = null;
DataView dv = null;
dv = dt.DefaultView;
dv.Sort = "语文 asc";
temp = dv.ToTable();
for (int i = 0; i <= dt.Rows.Count - 1; i++) {
dynamic a = temp.Select("姓名='" + dt.Rows[i]["姓名"] + "'");
dynamic index = temp.Rows.IndexOf(a(0));
dt.Rows[i]["语文名次"] = index + 1;
}
dv = dt.DefaultView;
dv.Sort = "数学 asc";
temp = dv.ToTable();
for (int i = 0; i <= dt.Rows.Count - 1; i++) {
dynamic a = temp.Select("姓名='" + dt.Rows[i]["姓名"] + "'");
dynamic index = temp.Rows.IndexOf(a(0));
dt.Rows[i]["数学名次"] = index + 1;
}
dv = dt.DefaultView;
dv.Sort = "英语 asc";
temp = dv.ToTable();
for (int i = 0; i <= dt.Rows.Count - 1; i++) {
dynamic a = temp.Select("姓名='" + dt.Rows[i]["姓名"] + "'");
dynamic index = temp.Rows.IndexOf(a(0));
dt.Rows[i]["英语名次"] = index + 1;
}
dv.Sort = "";
this.DataGridView1.DataSource = dt;
}
'datatable 结构 如下
' 姓名 语文 数学 英语
' 张三 60 70 88
' 李四 70 60 67
' 王五 90 90 77
' 赵六 80 90 89
Dim dt As New DataTable
dt.Columns.Add("姓名")
dt.Columns.Add("语文", GetType(System.Int32))
dt.Columns.Add("数学", GetType(System.Int32))
dt.Columns.Add("英语", GetType(System.Int32))
dt.Columns.Add("语文名次", GetType(System.Int32))
dt.Columns.Add("数学名次", GetType(System.Int32))
dt.Columns.Add("英语名次", GetType(System.Int32))
Dim row As DataRow
row = dt.NewRow
row("姓名") = "张三"
row("语文") = "60"
row("数学") = "70"
row("英语") = "88"
dt.Rows.Add(row)
row = dt.NewRow
row("姓名") = "李四"
row("语文") = "70"
row("数学") = "60"
row("英语") = "67"
dt.Rows.Add(row)
row = dt.NewRow
row("姓名") = "王五"
row("语文") = "90"
row("数学") = "90"
row("英语") = "77"
dt.Rows.Add(row)
row = dt.NewRow
row("姓名") = "赵六"
row("语文") = "80"
row("数学") = "90"
row("英语") = "89"
dt.Rows.Add(row)
Dim temp As DataTable
Dim dv As DataView
dv = dt.DefaultView
dv.Sort = "语文 asc"
temp = dv.ToTable
For i As Integer = 0 To dt.Rows.Count - 1
Dim a = temp.Select("姓名='" + dt.Rows(i)("姓名") + "'")
Dim index = temp.Rows.IndexOf(a(0))
dt.Rows(i)("语文名次") = index + 1
Next
dv = dt.DefaultView
dv.Sort = "数学 asc"
temp = dv.ToTable
For i As Integer = 0 To dt.Rows.Count - 1
Dim a = temp.Select("姓名='" + dt.Rows(i)("姓名") + "'")
Dim index = temp.Rows.IndexOf(a(0))
dt.Rows(i)("数学名次") = index + 1
Next
dv = dt.DefaultView
dv.Sort = "英语 asc"
temp = dv.ToTable
For i As Integer = 0 To dt.Rows.Count - 1
Dim a = temp.Select("姓名='" + dt.Rows(i)("姓名") + "'")
Dim index = temp.Rows.IndexOf(a(0))
dt.Rows(i)("英语名次") = index + 1
Next
dv.Sort = ""
Me.DataGridView1.DataSource = dt