zoukankan      html  css  js  c++  java
  • Gridview多级复杂表头

    设计GridView多级复杂表头,在实现过程中有几个问题:

    1、如何控制表头中字体颜色、背景色的控制

    2、C#中也有VB中IIF的写法:

    newRow["1Rev"] = String.IsNullOrEmpty(strRev[1]) ? "" : String.Format("{0:#,##0}", Convert.ToDouble(strRev[1]));
    

    3、可以给字符串付空值:string myString = null;

    4、判断SQL查询字段是否为null,可以使用:myrow[0] == System.DBNull.Value 为true?

    5、Convert.ToString(myrow[0]),如果myrow[0]为空,返回""。

    6、从ASP.NET编程之道上抄来的例子:

    后台View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public partial class GridviewMultiHeader : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
    switch (e.Row.RowType)
    {
    case DataControlRowType.Header://被创建的行是标题行
    TableCellCollection tcHeader = e.Row.Cells;//取得标题行的单元格集合
    tcHeader.Clear();//清空标题行的单元格集合
    //添加一级表头
    tcHeader.Add(new TableHeaderCell());
    tcHeader[0].Attributes.Add("rowspan", "3"); //跨3行
    tcHeader[0].Attributes.Add("bgcolor", "white");
    tcHeader[0].Text = "盘点期间";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[1].Attributes.Add("colspan", "6"); //跨6列
    tcHeader[1].Text = "全部信息</th></tr><tr>";
    //添加二级表头
    tcHeader.Add(new TableHeaderCell());
    tcHeader[2].Attributes.Add("bgcolor", "DarkSeaGreen");
    tcHeader[2].Text = "仓库信息";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[3].Attributes.Add("bgcolor", "LightSteelBlue");
    tcHeader[3].Attributes.Add("colspan", "3");//跨3列
    tcHeader[3].Text = "商品信息";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[4].Attributes.Add("bgcolor", "LightSteelBlue");
    tcHeader[4].Attributes.Add("colspan", "2");//跨2列
    tcHeader[4].Text = "盘点信息</th></tr><tr>";
    //添加三级表头
    tcHeader.Add(new TableHeaderCell());
    tcHeader[5].Attributes.Add("bgcolor", "Khaki");
    tcHeader[5].Text = "仓库名称";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[6].Attributes.Add("bgcolor", "Khaki");
    tcHeader[6].Text = "商品名称";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[7].Attributes.Add("bgcolor", "Khaki");
    tcHeader[7].Text = "规格";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[8].Attributes.Add("bgcolor", "Khaki");
    tcHeader[8].Text = "数量";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[9].Attributes.Add("bgcolor", "Khaki");
    tcHeader[9].Text = "盘点数";
    tcHeader.Add(new TableHeaderCell());
    tcHeader[10].Attributes.Add("bgcolor", "Khaki");
    tcHeader[10].Text = "盘点说明";
    break;
    }
    }
    }
    前台View Code
        <form id="form1" runat="server">
    <div>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    DataSourceID="SqlDataSource1" EmptyDataText="没有可显示的数据记录。"
    onrowcreated="GridView1_RowCreated">
    <Columns>
    <asp:BoundField DataField="CheckPeriod" HeaderText="盘点期间"
    SortExpression="CheckPeriod" />
    <asp:BoundField DataField="WareHouseName" HeaderText="仓库名称"
    SortExpression="WareHouseName" />
    <asp:BoundField DataField="ProductName" HeaderText="商品名称"
    SortExpression="ProductName" />
    <asp:BoundField DataField="Specs" HeaderText="规格" SortExpression="Specs" />
    <asp:BoundField DataField="Quantity" HeaderText="数量"
    SortExpression="Quantity" />
    <asp:BoundField DataField="CheckQty" HeaderText="盘点数"
    SortExpression="CheckQty" />
    <asp:BoundField DataField="Memo" HeaderText="盘点说明" SortExpression="Memo" />
    </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:ExpatiateAspNetConnectionString %>"
    ProviderName="<%$ ConnectionStrings:ExpatiateAspNetConnectionString.ProviderName %>"
    SelectCommand="SELECT [CheckPeriod], [WareHouseName], [ProductName], [Specs], [Quantity], [CheckQty], [Memo], [Warehouse] FROM [V_StoreCheckReport]">
    </asp:SqlDataSource>
    </div>
    </form>

    显示结果为:



  • 相关阅读:
    机器学习-数据归一化及哪些算法需要归一化
    目标检测中的mAP
    在Ubuntu内制作自己的VOC数据集
    目标检测算法之YOLOv3
    目标检测算法之YOLOv1与v2
    详谈Windows消息循环机制
    位和字节以及各类编码简述
    C++ 基础知识(一)
    Python 爬取高清桌面壁纸
    WPF 动画执行后属性无法修改
  • 原文地址:https://www.cnblogs.com/zhoukaiwei/p/2280985.html
Copyright © 2011-2022 走看看