如何给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>
运行效果如下所示:
()
- · Java新手学习:IIS6和Tomcat5的整合
- · asp常用函数
- · W3 Jmail中文使用说明
- · 无组件上传图片到数据库中,最完整解决方案
- · 二级域名原理以及程序,申请即可开通
- · Java学习过程的一些重点
- · Oracle9i中如何建立不同字符集的数据库
- · 修复SQL Server 2000数据库之实战经验
- · 使用ASP生成HTML文件
- · 编写安全的ASP代码
- · 十天学会ASP.net(2)
- · 十天学会ASP.net(1)
- · 十天学会php(2)
- · 十天学会php(1)
- · 三天学好ADO
- · 在数据库中存取文件
- · 解决大字段在Form中Post出错的方法
- · 利用ASP+JMAIL进行邮件群发的新思路
- · 关于处理GET方式提交的含有特殊字符的参数
- · 关于Adodb.Stream 的使用说明
- · 多文件多文本框上传程序
- · 让妙客家标准版使用 SQL Server 数据库后台
- · 关于用SQL SERVER2000建立分布式网站系统的认识
- · 使用SQLSERVER的扩展存储过程实现远程备份与恢复
- · MySQL数据库类的定义
- · SQL语句导入导出大全
- · SQL Server的用户及权限
- · 深入理解C语言指针的奥秘
- · VC快捷键大全
- · 简体中文编码对应器
- · WEB打印大全
- · 用ASP实现远程批量文件改名
- · 想深入学习SQL injection的人这个可要好好看看
- · 用PHP创建PDF中文文档
- · PHP生成带有雪花背景的验证码
- · 用PHP和MySQL保存和输出图片
- · 拼音码表的生成
- · 一个odbc连mssql分页的类
