DataGrid 排序的问题
DataGrid的数据共有四列。如下:
列名1 列名2 列3 列4
张三 25 团员 1365
李四 22 群众 1700
王五 30 党员 1622
上面的四列中,列1、列2和列3是直接用SQL取出来的。而列4是在DataGrid属性ItemDataBound中填充进去的。现在我想根据“列4”进行排序,请问如何做?
------解决方案--------------------DataTable dt = new DataTable();
dt.Columns.Add( "name ",typeof(System.String));
dt.Columns.Add( "No ",typeof(System.String));
//假如你绑定的数据是这样
DataRow dr = dt.NewRow();
dr[ "name "] = "张三 ";
dr[ "No "] = "001 ";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[ "name "] = "李四 ";
dr1[ "No "] = "002 ";
dt.Rows.Add(dr1);
//现在只有两列 name 和 No
//再+一列 sex
DataColumn dc = new DataColumn();
dc.ColumnName = "sex ";
dt.Columns.Add(dc);
//然后在新列中添加值
for(int i=0;i <dt.Rows.Count;i++)
{
if(dt.Rows[i][ "name "].ToString()== "张三 ")
dt.Rows[i][ "sex "] = "男 ";
if(dt.Rows[i][ "name "].ToString()== "李四 ")
dt.Rows[i][ "sex "] = "女 ";
}
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
仅供参考 说错勿怪
------解决方案--------------------从SQL中获取DataTable之后
dt.columns.add( "列4 ");
foreach(datarow dr in dt.rows)
{
dr[ "列4 "] = "xxx ";
}
DataView dv = dt.DefaultView;
dv.Sort = "列4 ";
datagrid.datasource = dv;
datagrid.databind;