dataGrid 多维表头、表头跨行跨列设计及绑定数据

dataGrid 其实就是一个html table 
想清楚这个以后,要设置多维表头就好办了
html代码


代码如下:

<asp:DataGrid ID="DataGrid1" runat="server"
onitemdatabound="DataGrid1_ItemDataBound">
</asp:DataGrid>

然后绑定数据


代码如下:

protected void Page_Load(object sender, EventArgs e)
{
string strsql = "select EmpID, Name, BranchID, LoginID, Pwd, Sex, EmpCode, Email, OfficeTel from mrBaseInf";
SqlConnection con = new SqlConnection("server=.;database=iOffice2009;uid=sa;pwd=sa");
DataSet ds = new DataSet();
SqlDataAdapter ter = new SqlDataAdapter(strsql, con);
con.Open();
ter.Fill(ds);
con.Close();
this.DataGrid1.DataSource = ds;
DataGrid1.DataBind();
}

接下来添加DataGrid1_ItemDataBoun事件


代码如下:

protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Header)
{
e.Item.Cells[0].RowSpan = 2;
e.Item.Cells[1].RowSpan = 2;
e.Item.Cells[2].RowSpan = 2;
e.Item.Cells[3].RowSpan = 2;
e.Item.Cells[4].RowSpan = 2;
e.Item.Cells[5].ColumnSpan = 4;
e.Item.Cells[5].HorizontalAlign = HorizontalAlign.Center;
e.Item.Cells[5].Text = "测试</td></tr><tr><td>列1</td><td>列2</td><td>列3</td><td>列4</td></tr>";
e.Item.Cells[6].Visible = false;
e.Item.Cells[7].Visible = false;
e.Item.Cells[8].Visible = false;
}
}

效果图

(0)

相关推荐

  • asp.net DataGrid控件中弹出详细信息窗口

    在DataGrid控件中添加超链接如下步骤: (1) 在"设计"视图中,选择DataGrid控件,然后单击"属性"窗口底部的"属性生成器"链接. (2) 在"DataGrid属性"对话框中单击"列"选项卡. (3) 在"可用列"选项框中,选择"超级链接列"并单击"添加"按钮.如下图进行添加超级链接列的设置.(4) 若要将数据字段用作目标页URL的源

  • DataGrid 动态添加模板列 实现代码

    使用模版的另一个优势,就是它们能动态的添加到你的控件里面去. 这样的话, 你可以事先设计好模版, 然后通过简单的几行代码就添加到你的控件中. 下面这篇文章就要告诉你如何如何一步步的添加一个动态的ItemTemplate和EditItemTemplate到DataGrid中. 另外, 还会告诉你怎么获取和更新用户对EditItemTemplate所做的改变. 例子将会是很简单的. 然后, 我很快就会在TripleASP上面正式发布一个改进后的TableEditor版本. 这个版本将更好的说明如何使

  • DataGrid使用心得(调用及连接数据库等等)

    在工作中遇到把DataGrid中绑定的后台数据库数据展示给用户时把负数变为0的小问题,现在记录下来. 例子中数据表示这个样子的: -------------------------------------------------------分割线--------------------------------------1.DataGrid的调用 DataGrid对于ASP.NET开发来说是一种在vs 工具箱中找不到的控件,所以调用它需要手写代码: 复制代码 代码如下: <asp:DataGri

  • 如何在DataGrid控件中实现自定义分页

    如何在DataGrid控件中实现自定义分页      在一般情况下,DataGrid控件每次实现翻页操作时,都会将数据源中的数据重新调用一次,当数据中 数据很多时,这样做就会很浪费系统资源和降低程序的执行效率.这时候我们一般通过自定义分页来解 决这个问题.     DataGrid控件的AllowCustomPaging属性用来获取或设置DataGrid控件是否允许自定义分 页;VirtualItemCoun属性用来获取或设置在使用自定义分页时DataGrid中实际的项数.要实现自定义分 页,必

  • ASP.NET中为DataGrid添加合计字段

    论坛中最常见的一个问题是:" 我怎样在 DataGrid 中显示列合计?". 我亲自多次为这个问题提供了示例代码,因此,我想在DotNetJunkies 的标题中提供这么一份指南. 在这份指南中你将会学到怎样在 DataGrid 中编程实现对某一列的值进行统计,并在 DataGrid 的页脚中显示其合计值.这份指南中供下载的示例中包括了 C# 和 Visual Basic.NET 两种代码. 这份指南的最终结果看起来像这样: 从上图可看出: 上面所用到的屏幕图片中的 DataGrid

  • asp.net DataGrid 中文字符排序的实现代码

    废话不多说,看例子: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12">     <mx:Script>         <!--[CDA

  • dataGrid 多维表头、表头跨行跨列设计及绑定数据

    dataGrid 其实就是一个html table 想清楚这个以后,要设置多维表头就好办了 html代码 复制代码 代码如下: <asp:DataGrid ID="DataGrid1" runat="server" onitemdatabound="DataGrid1_ItemDataBound"> </asp:DataGrid> 然后绑定数据 复制代码 代码如下: protected void Page_Load(obj

  • php动态实现表格跨行跨列实现代码

    复制代码 代码如下: < ?php /* * author:xudafeng@126.com * blog:http://www.xdf.me * date:2012.7.28 */ class danteng { function init($col1_name, $col2_name, $col3_name, $time_unit) { echo "<table border=1><tr><th>" . $col1_name . "

  • Vue+elementui 实现复杂表头和动态增加列的二维表格功能

    先上完成的效果图:列是根据查询结果增加的 数据格式: 表头的数据取出: data.data.forEach(element => { this.thead.push({ 品名: element.品名, 面取数: element.面取数, LOTNO: element.LOT }); element table中: <el-table-column v-for="(item,index) in thead" :prop="item.LOTNO" :key=

  • el-table表头根据内容自适应完美解决表头错位和固定列错位

    将代码复制到指令中即可使用.通过指令方式进行调用.(使用方式 <el-table v-tableFit></el-table>) 通过计算文字的宽度进行表头设置,其他内容无法计算. 5000个单元格以上根据实际情况使用以上根据实际情况使用,因为单元格越多,计算时间越长. 尽量使用v-if,不然有些情况下会计算错误. Vue.directive("tableFit", { //指令所在组件的 VNode 及其子 VNode 全部更新后调用. componentUp

  • numpy.ndarray 交换多维数组(矩阵)的行/列方法

    如下所示: >> import numpy as np >> P = np.eye(3) >> P array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]) 交换第 0 行和第 2 行: >> P[[0, 2], :] = P[[2, 0], :] # P[(0, 2), :] = P[(2, 0), :] >> P array([[ 0., 0., 1.], [ 0., 1., 0.], [ 1.

  • 浏览器跨域获取Lrc歌词数据的解决办法

    获取同一个域的数据,可以通过XMLHTTP组件或IFRAME来实现,不存在跨域访问的权限问题,因此比较简单.     但如果要访问不同域的数据时,由于浏览器的安全设置,XMLHTTP没有权限获取数据,而IFRAME没有权限将获取的数据传递给父窗口,似乎没有其它解决办法. 顿悟--     网页内引用不同域的脚本并不会提示权限不足,对了,就是它没错! 解决方法找到了,现在来简单测试一下: 首先在51js.com服务器上新建一页面(Test.html). Over-Domain Data Fetch

  • ajax跨域获取网站json数据的实例

    由于自己的公司的项目需要调用视频地址 1:当为链接时:直接在播放器用数据库查找的地址 2:当为外部链接时:直接用window.location.href('数据库查找的地址') 3:当为H5链接时:使用<ifram src="数据库查找的地址">播放 4:当为其余网站链接时,要去第三方网站读取json信息然后把json数据作为url放在播放器中 当为4时,我使用json时会出格式错误 当用jsonp解决跨域问题时,会出现返回格式接收不到 所以我用 public static

  • pandas中按行或列的值对数据排序的实现

    目录 一. 按列的值对数据排序 1.按某一列的值对数据排序 2. 按多列的值对数据排序 3. key 参数:设置排序时的数据变换函数 4. 修改原数据 二. 按行的值对数据排序 参考 在处理表格型数据时,常会用到排序,比如,按某一行或列的值对表格排序,要怎么做呢? 这就要用到 pandas 中的 sort_values() 函数. 一. 按列的值对数据排序 先来看最常见的情况. 1.按某一列的值对数据排序 以下面的数据为例. import pandas as pd df_col = pd.Dat

  • Flex中如何动态生成DataGrid以及动态生成表头

    在Flex中动态生成表格,并且表格的表头也是动态生成 1.源码 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initHandler()" width

  • PHP获取二维数组中某一列的值集合

    PHP还是比较常用的,于是我研究了一下PHP二维数组.在处理php数组的时候,有一种需求特别的频繁,如下二维数组: $arr = array( 1=>array( 'id' => 5, 'name' => '张三' ), 2=>array( 'id' => 6, 'name' => '李四' ) ); 目的就是要取到key为name的集合,得到这个结果: $arr2 = array( 0=>'张三', 1=>'李四' ); 这里有几种方法: 1:最简单的,f

随机推荐