读书人

DataTable 排序后绑定有关问题

发布时间: 2012-03-25 20:55:17 作者: rapoo

DataTable 排序后绑定问题
DataView dv = dt.DefaultView;
dv.Sort="ID DESC";
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
----------------------
排序没有任何问题

可是现在 需求是 还要遍历DataTable 才能绑定

DataView dv = dt.DefaultView;
dv.Sort="ID DESC";
DataTable dt = Table.Clone();
DataRow dr;
for (int i=0; i < Table.Rows.Count; i++)
{
dr = dt.NewRow();
dr.ItemArray = Table.Rows[i].ItemArray;
dt.Rows.Add(dr);
}
DataGrid1.DataSource = dt;
DataGrid1.DataBind();

这样绑定后的结果 就不是排序的了为什么啊 要疯了
排序必须在遍历前进行 有没有高人帮我看看 谢谢了


[解决办法]
DataTable dt = Table.Clone();
DataRow dr;
for (int i=0; i < Table.Rows.Count; i++)
{
dr = dt.NewRow();
dr.ItemArray = Table.Rows[i].ItemArray;
dt.Rows.Add(dr);
}
DataView dv = dt.DefaultView;
dv.Sort="ID DESC";

DataGrid1.DataSource = dv;
DataGrid1.DataBind();


[解决办法]
直接用datagrid控件对ID排序
把AllowSorting属性为true
[解决办法]
DataView dv = dt.DefaultView;
dv.Sort="ID DESC";
DataTable dt = Table.Clone();
DataRow dr;

----------这里是给datatable增加新行,建议增加新行后,再进行排序。
for (int i=0; i < Table.Rows.Count; i++)
{
dr = dt.NewRow();
dr.ItemArray = Table.Rows[i].ItemArray;
dt.Rows.Add(dr);
}
---------------------------
DataGrid1.DataSource = dt;
DataGrid1.DataBind();

改为:
DataRow dr;
for (int i=0; i < Table.Rows.Count; i++)
{
dr = dt.NewRow();
dr.ItemArray = Table.Rows[i].ItemArray;
dt.Rows.Add(dr);
}
DataView dv = dt.DefaultView;
dv.Sort="ID DESC";
DataTable dt = Table.Clone();
DataGrid1.DataSource = dv;
DataGrid1.DataBind();


[解决办法]
最后绑—ataView,别绑—ataTable

读书人网 >asp.net

热点推荐