国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

給datagrid控件建立穩固的雙向排序(asp.net)

2024-07-10 13:06:45
字體:
來源:轉載
供稿:網友
國內最大的酷站演示中心!

給datagrid控件建立穩固的雙向排序(asp.net)
大家都知道datagrid控件帶有內置的事件來對記錄進行排序,用戶可單擊列標題,就會按照相應的列進行排序,使用
非常方便和簡單化.
但是它也有很大的不足,就是由datagrid代理的分頁功能,只能單向排序,而且換頁后,排序信息就會丟失.所以我
們需要改進一下分頁的事件函數,利用狀態包viewstate變量,達到能穩固的雙向排序。:)

(1)首先在頁面load時.要讀取數據源里的數據,并將其送入到datagrid
private void page_load(object obj,eventargs e)
{
if(!page.ispostback)
{
dataload();
}
}
private void dataload()
{
string connstr=configurationsettings.appsettings["connectionstring"];
oledbconnection conn=new oledbconnection(connstr);


dataset ds=new dataset();
string sql;
if(viewstate["sorting"]==null)
{
sql="select * from userinfo";
response.write(sql);
}
else
{
sql="select * from userinfo order by "+viewstate["sorting"].tostring()+"
"+viewstate["sortdirection"].tostring();
response.write(sql);
}
oledbdataadapter da=new oledbdataadapter(sql,conn);
da.fill(ds);
dataview dv=new dataview(ds.tables[0]);
grid1.datasource=dv;
grid1.databind();
}
(2)然后在datagrid控件的屬性設定中加入如下選項;
...
allowpaging="true"
pagesize=13
pagerstyle-mode=numericpages
onpageindexchanged="changepage"
...
其中allowpaging="true",表示將啟用分頁功能,每頁的大小,我們設定小一些(pagesize=13),好讓它多分頁.
pagerstyle-mode=numericpages是將分頁模式設為數字,最后指定了事件的處理程序為changepage方法.

private void changepage(object obj,datagridpagechangedeventargs e)
{
grid1.currentpageindex=e.newpageindex;//當前頁等于新的頁面
dataload();
}
(3)最后是排序的事件函數:
private void grid_sort(object obj,datagridsortcommandeventargs e)
{
viewstate.add("sorting",e.sortexpression);
if (viewstate["sortdirection"]==null)
viewstate.add("sortdirection","asc");
else
{
if(viewstate["sortdirection"].tostring()=="asc")
viewstate["sortdirection"]="desc";
else
viewstate["sortdirection"]="asc";
}
dataload();
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台北县| 任丘市| 开鲁县| 阿拉善盟| 阜城县| 新安县| 天门市| 旬阳县| 柳州市| 乐亭县| 太原市| 赤水市| 安远县| 桃园县| 乐平市| 唐山市| 长岛县| 灵寿县| 巩义市| 营口市| 紫金县| 永川市| 青龙| 三门县| 阳朔县| 洪湖市| 醴陵市| 宜良县| 桃江县| 泰安市| 略阳县| 南召县| 邢台县| 镇康县| 吉安县| 麻江县| 南江县| 桂平市| 盐城市| 沂源县| 珲春市|