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

首頁 > 開發 > 綜合 > 正文

如何給DataGrid添加兩個的題頭分類顯示

2024-07-21 02:23:37
字體:
來源:轉載
供稿:網友
我在寫powerdatagrid想到要提供一個查詢(有關powerdatagrid的詳細信息參考csdn論壇中的討論帖,源碼可以在www.foxhis.com/powermjtest/sharepowerdatagrid.rar下載),該查詢的構想是這樣的:我的這個控件可以通過指定一個sql語句來顯示該語句的內容(其他的功能不敘述了,這不是重點),那么我可以封裝一組ui到這個控件里面來實現查詢的功能,問題出來了,這個查詢通常情況下應該在datagrid的上面也就是查詢結果的上面,我要怎么才能保留原來的題頭同時再添加一個題頭呢(雙題頭)?
問題出來了,改如何解決呢?想了好多辦法都不行,如果要將header重畫,那么還要處理排序是前后臺的交互問題,那么只能再保留原來header不動的基礎上添加新的header。無意中發現在分頁的時候可以有幾種分頁顯示的方法,在分頁面板里面有一個選現可以選擇分頁的位置,可以選擇上下型,在選擇這個類型的時候datagrid在原來的header上面又多了一行,我們今天就利用這一行來完成我們的任務,今天我們不產生查詢的ui而是產生一個分類的題頭,我們使用測試數據庫northwind中的employees來顯示數據,首先我們要做的是綁定數據綁定代碼如下:
sqlconnection con = new sqlconnection("server=localhost;database=northwind;uid=sa;pwd=;");
sqldataadapter da = new sqldataadapter("select lastname+' '+firstname as name, birthdate, country, title, hiredate from employees",con);
datatable dt = new datatable();
da.fill(dt);
this.datagrid1.datasource = dt;
this.datagrid1.databind();
}
接著我們在itemcreated里面添加適當的代碼來完成我們的任務,在powerdatagrid該事件處理函數里面已經添加了創建一個自定義分頁的ui!如果你在powerdatagrid里面添加需要判斷兩個(上下)pager的位置,我們可以使用一個全局變量來判斷。
定義一個全局變量 private int m_createpagetimes = 0;
然后我們為該事件處理函數添加如下代碼:
private int m_createpagetimes = 0;
private void datagrid1_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e) {
listitemtype elemtype = e.item.itemtype;
if (elemtype == listitemtype.pager) {
if (m_createpagetimes == 0) {
tablecell cellperson = (tablecell) e.item.controls[0];
cellperson.controls.clear();
cellperson.backcolor = color.navy;
cellperson.forecolor = color.yellow;
cellperson.columnspan = 3;
cellperson.horizontalalign = horizontalalign.center;
cellperson.controls.add(new literalcontrol("個人信息"));

tablecell celljob = new tablecell();
celljob.backcolor = color.navy;
celljob.forecolor = color.yellow;
celljob.columnspan = 2;
celljob.horizontalalign = horizontalalign.center;
celljob.controls.add(new literalcontrol("工作信息"));
e.item.controls.add(celljob);
m_createpagetimes ++;
}else if(m_createpagetimes ==1){
// create custom pager ui
}
}
最后是datagrid的html部分的代碼如下:
<asp:datagrid id="datagrid1" runat="server" allowpaging="true" autogeneratecolumns="false" width="100%"
pagesize="2">
<columns>
<asp:boundcolumn datafield="name" headertext="姓名"></asp:boundcolumn>
<asp:boundcolumn datafield="birthdate" headertext="生日"></asp:boundcolumn>
<asp:boundcolumn datafield="country" headertext="國家"></asp:boundcolumn>
<asp:boundcolumn datafield="title" headertext="頭銜"></asp:boundcolumn>
<asp:boundcolumn datafield="hiredate" headertext="雇傭日期"></asp:boundcolumn>
</columns>
<pagerstyle position="topandbottom" mode="numericpages"></pagerstyle>
</asp:datagrid>
運行效果如下所示:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 集贤县| 扎囊县| 井研县| 阳曲县| 鄂州市| 萍乡市| 浪卡子县| 务川| 赤城县| 谷城县| 阳谷县| 尼玛县| 宾阳县| 江口县| 修文县| 黔东| 十堰市| 苍南县| 柏乡县| 前郭尔| 万山特区| 琼结县| 沈阳市| 云和县| 尼木县| 高雄县| 榆社县| 汨罗市| 麻江县| 黑水县| 甘德县| 石林| 德格县| 鹤壁市| 巩义市| 泊头市| 饶平县| 永康市| 育儿| 昌邑市| 新源县|