读书人

急asp.net中怎么使GridView进行自动排

发布时间: 2012-04-05 12:42:39 作者: rapoo

急急急,asp.net中如何使GridView进行自动排序,谢谢
我先说一下我写的代码:
在页面中添加了一个GridView,GridView的绑定数据源并不是连接数据库信息,而是一个列表数组List,我想使GridView按list中的自段ID进行排序,已经在前台界面设置了AllowSorting="True" SortExpression="ID",不知道 protected void gvinfo_Sorting(object sender, GridViewSortEventArgs e)里面的事件应该如何去写,我从网上查的资料都是用dataview的,而我的是list信息,不知道怎么去写?
页面相关代码如下:
public static List<Model.DataPoint> dpinfolist = new List<Model.DataPoint>();
.............
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.BindGridView();

}

}
protected void BindGridView()
{

gvinfo.DataSource = dpinfolist;
gvinfo.DataKeyNames = new string[] { "ID" };
gvinfo.DataBind();

}

protected void gvinfo_Sorting(object sender, GridViewSortEventArgs e)
{
求这里面的代码怎么写,谢谢

}

[解决办法]
你绑定前先对list进行排序,排序调用list.Sort(new MyComparer());

C# code
class MyComparer:IComparer<Model>{  int IComparer<Model>.Comparer(Model x,Model y){  return x.ID>y.ID?1:-1;//如果ID是字符串则进行Int.parse()转换}}
[解决办法]
好麻烦的样子啊。。直接对数据源进行排序多好。。加个 order by 而已。多几个条件判断 单击不同表头的时候按不同的数据源。
[解决办法]
sql语句自带 order by 这个比较简单
[解决办法]
这样比较好,灵活,想对那个字段排序就对那个字段排序
探讨

你绑定前先对list进行排序,排序调用list.Sort(new MyComparer());

C# code
class MyComparer:IComparer<Model>
{
int IComparer<Model>.Comparer(Model x,Model y)
{
return x.ID>y.ID?1:-1;//如果ID是字符串则进行Int.parse()转换
}……

[解决办法]
list集合本身就自带有orderby 的功能
C# code
 public class Test    {        public int IID { get; set; }        public string str { get; set; }    }  List<Test> TestList = new List<Test>();            TestList.OrderBy(x => x.IID);//升序            TestList.OrderByDescending(x => x.IID);//降序 

读书人网 >asp.net

热点推荐