如何给DataGrid添加两个的题头分类显示 cuike519 [原作]

转载 2004年07月01日 09:58:00
标题   如何给DataGrid添加两个的题头分类显示     cuike519 [原作]
关键字   双题头,分类
出处  

       我在写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>
  运行效果如下所示:

Easyui-datagrid 给标题列加上超链接(MVC3.0应用程序中)

Easyui-datagrid实现超链接列 Easyui-datagrid实现超链接列到controller中 分页查询
  • u010073895
  • u010073895
  • 2015年01月11日 17:00
  • 2280

easyUI datagrid自定义添加列 (点击事件)

有列表 想添加一个操作列  类似删除之类的   ...
  • nnn_net
  • nnn_net
  • 2016年07月13日 15:42
  • 9712

easyui datagrid 创建带复选框表格(2)

1.源码 创建带复选框的datagrid
  • yb305
  • yb305
  • 2017年01月12日 14:48
  • 2311

ABAP--如何将REUSE_ALV_GRID_DISPLAY的题头自适应居中显示

最近有个网友的用户需要将REUSE_ALV_GRID_DISPLAY的题头居中显示,我看看了SAP的代码,发现时可以实现的。 REUSE_ALV_GRID_DISPLAY的题头原理和机制 SA...
  • zhongguomao
  • zhongguomao
  • 2011年08月13日 22:22
  • 423

ASP.NET中DataGrid添加超链接、自定义显示示、页脚汇

  • 2011年04月03日 09:33
  • 32KB
  • 下载

K近邻、支持向量机两个分类算法

  • 2017年03月18日 09:45
  • 208KB
  • 下载

JS实现两个datagrid的数据移动

前言   页面上有两个表格,选中之后点击按钮可以实现数据由左到右或者由右到左的一个数据移动,点击确定之后才会与后台交互。 JS代码 //从左往右移 function onclick_leftToRig...
  • sms15732621690
  • sms15732621690
  • 2017年12月17日 22:26
  • 68

mx_internal_uid的在数据传递时的重复解决方法 - 两个datagrid直接拖拽复制数据

我们首先了解一下【mx_internal_uid】的概念: uid : String---The unique identifier for this object UID 它一共有32位,其...
  • RSS_40728440
  • RSS_40728440
  • 2018年01月12日 16:55
  • 13

CF519E - A and B and Lecture Rooms

题意:给出一颗n个节点的树,有m次查询,每次查询求有多少个点到a、b的距离相等(1 思路:树链剖分,可以看出有答案就是这条链的节点个数为奇数(链的长度为偶数)             主要就是找到a和...
  • u010485714
  • u010485714
  • 2015年03月01日 14:16
  • 355

Flex dataGrid 表头添加按钮

  • 2015年11月14日 14:43
  • 21KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何给DataGrid添加两个的题头分类显示 cuike519 [原作]
举报原因:
原因补充:

(最多只允许输入30个字)