• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        如何通過動態生成Html靈活完成DataGrid分類統計的界面顯示技巧

        如何通過動態生成Html靈活完成DataGrid分類統計的界面顯示技巧

        更新時間:2022-05-02 文章作者:未知 信息來源:網絡 閱讀次數:

        步入IT業已經有幾年的時間了,從最早接觸pb6.0到現在.Net技術,計算機技術不論是從硬件還是軟件都有巨大的進步.而中國程序員總體水平在世界上也是遠遠落后,其中缺乏完善的體系、必要的交流和程序員個人英雄主義的思想是主要原因.前不久在工作中遇到一個關于用DataGrid分類顯示數據的問題,顯示的樣式入下圖所示: 希望能為遇到類似問題的朋友提供一個解決方案,并掌握類似問題的解決方法.

        問題剖析:

        以上為例,每門課程屬于不同的類別,需要將顯示數據的第一項類別進行匯總顯示.用標準的DataGrid是難于實現上述功能的.顯然需要依靠自身來解決.

        思路:

        歸根到底,不論何種樣式的表格顯示,表現到前臺都是Html的Table元素,因此如果能夠在讀取數據時動態確定Html樣式,并通過Div將html生成到前臺顯示的話,就可以控制復雜的顯示.這里面其實包含了從已有顯示的html反推到動態html生成的過程.

        源代碼及注釋:

        定義類保存類別名字和數據條數

        public class KeyVal
        {
        private string m_Skey;
        private string m_SVal;
        public string strKey
        {
        get
        {
        return m_Skey;
        }
        set
        {
        m_Skey=value;
        }
        }
        public string strVal
        {
        get
        {
        return m_SVal;
        }
        set
        {
        m_SVal=value;
        }
        }
        public KeyVal()
        {}
        public KeyVal(string SKey,string SVal)
        {
        strKey=SKey;
        strVal=SVal;
        }
        }

        測試頁代碼和相關函數

        using System;
        using System.Collections;
        using System.ComponentModel;
        using System.Data;
        using System.Drawing;
        using System.Web;
        using System.Web.SessionState;
        using System.Web.UI;
        using System.Web.UI.WebControls;
        using System.Web.UI.HtmlControls;
        using System.Security.Principal;
        using Microsoft.Web.UI.WebControls;
        using System.Text;

        namespace EisWebSite.WebInternet
        {
        /// <summary>
        /// ClassCourse 的摘要說明。
        /// </summary>
        public class ClassCourse : System.Web.UI.Page
        {
        protected System.Web.UI.WebControls.DropDownList SpecialtyID;
        protected System.Web.UI.HtmlControls.HtmlGenericControl MainDiv;

        //
        #region 頁面初始化
        private void Page_Load(object sender, System.EventArgs e)
        {

        if (!Page.IsPostBack)
        {
        AppGlobal.CBoxFillSpecialtyData(ref this.SpecialtyID,true);
        }
        }

        #endregion

        #region Web 窗體設計器生成的代碼
        override protected void OnInit(EventArgs e)
        {
        //
        // CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。
        //
        InitializeComponent();
        base.OnInit(e);
        }

        /// <summary>
        /// 設計器支持所需的方法 - 不要使用代碼編輯器修改
        /// 此方法的內容。
        /// </summary>
        private void InitializeComponent()
        {
        this.SpecialtyID.SelectedIndexChanged += new System.EventHandler(this.SpecialtyID_SelectedIndexChanged);
        this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private string CreateOutHtml()
        {


        //取出類型數目以及名稱
        DataSet dSet=new DataSet();

        dSet=添加自己的獲取數據集的函數(靈活設計Sql語句)結果為類型、數目

        //AppGlobal.AppSysWebService.ClassCourseTeacherMainFilters(Item);


        ArrayList mList=new ArrayList();

        foreach(DataRow dRow in dSet.Tables[0].Rows)
        {
        KeyVal mObj=new KeyVal();
        mObj.strKey=dRow[0].ToString();
        mObj.strVal=dRow[1].ToString();
        mList.Add(mObj);
        }

        StringBuilder OutHtml=new StringBuilder();
        dSet=添加自己的數據集函數.注意數據的排序方式與上同

        //AppGlobal.AppSysWebService.ClassCourseTeacherFilters(Item);
        //添加固定表頭
        OutHtml.Append("<table cellspacing='0' cellpadding='0' align='center' rules='all' bordercolor='black' border='1'"
        +"id='GRid'"+
        " style='word-break:break-all; BORDER-RIGHT:black 1px solid; BORDER-TOP:black 1px solid; BORDER-LEFT:black 1px solid; WIDTH:100%; BORDER-BOTTOM:black 1px solid; BORDER-COLLAPSE:collapse'>"
        );
        OutHtml.Append("<table cellspacing='0' cellpadding='0' align='center' rules='all' bordercolor='black' border='1'"
        +"id='AGRid'"+
        " style='word-break:break-all;BORDER-RIGHT:black 1px solid; BORDER-TOP:black 1px solid; BORDER-LEFT:black 1px solid; WIDTH:100%; BORDER-BOTTOM:black 1px solid; BORDER-COLLAPSE:collapse'>");
        OutHtml.Append("<tr align='center'>"+
        "<td width='87' style='WIDTH: 87px; HEIGHT: 34px'>類別</td>"+
        "<td style='WIDTH: 253px; HEIGHT: 34px'>課程編號</td>"+
        "<td style='WIDTH: 280px; HEIGHT: 34px'>課程名稱</td>"+
        "<td style='WIDTH: 86px; HEIGHT: 34px'>學分</td>"+
        "<td style='WIDTH: 140px; HEIGHT: 34px' >"+
        "<table width='100%' height='100%' cellpadding='0' cellspacing='0'>"+
        "<tr>"+
        "<td align='center'width='33%' ></td>"+
        "<td align='center'width='33%'>學期</td>"+

        "<td align='center'width='33%' ></td>"+
        "</tr>"+
        "<tr>"+
        "<td align='center' width='33%'>I</td>"+
        "<td align='center' width='33%'>II</td>"+
        "<td align='center' width='33%'>III</td>"+
        "</tr>"+
        ""+
        "</td>"+
        "<td style='WIDTH: 86px; HEIGHT: 34px'>教師名稱</td>"+
        "</tr>");
        OutHtml.Append("<table cellspacing='0' cellpadding='0' align='center' rules='all' bordercolor='black' border='1'"
        +"id='bGRid'"+
        " style='word-break:break-all;BORDER-RIGHT:black 1px solid; BORDER-TOP:black 1px solid; BORDER-LEFT:black 1px solid; WIDTH:775px; BORDER-BOTTOM:black 1px solid; BORDER-COLLAPSE:collapse'>");

        string SrcType="";
        string NewType="";
        foreach(DataRow dRow in dSet.Tables[0].Rows)
        {
        OutHtml.Append("<tr align='center' height='24px' style='word-break:break-all;'> ");

        NewType=dRow["KeyValue"].ToString();

        if (SrcType!=NewType)
        OutHtml.Append("<td width='80' style='WIDTH: 80px; HEIGHT: 34px' rowspan="+SeachObj(dRow["KeyValue"].ToString(),mList).strVal+">"+SeachObj(dRow["KeyValue"].ToString(),mList).strKey+"</td>");
        SrcType=NewType;

        OutHtml.Append("<td width=231px >"+dRow["courseID"].ToString()+"</td>");
        OutHtml.Append("<td width=255px>"+dRow["courseName"].ToString()+"</td>");
        OutHtml.Append("<td width=80px>"+dRow["credit"].ToString()+"</td>");
        // OutHtml.Append("<td width=100px>");
        // OutHtml.Append("<table width='110' height='100%' cellpadding='0' cellspacing='0' bordercolor='black' border='1'>"+
        // "<tr>");
        switch (Convert.ToInt16(dRow["coursetime"].ToString(),10))
        {

        case 1:
        OutHtml.Append("<td width=43px>√"+"</td>");
        OutHtml.Append("<td width=43px></td>");
        OutHtml.Append("<td width=43px></td>");
        break;
        case 2:
        OutHtml.Append("<td width=43px></td>");
        OutHtml.Append("<td width=43px>√"+"</td>");
        OutHtml.Append("<td width=43px></td>");
        break;
        case 3:
        OutHtml.Append("<td width=43px></td>");
        OutHtml.Append("<td width=43px></td>");
        OutHtml.Append("<td width=3px>√"+"</td>");
        break;
        default:
        OutHtml.Append("<td width=43px></td>");
        OutHtml.Append("<td width=43px></td>");
        OutHtml.Append("<td width=43px></td>");
        break;
        }
        // OutHtml.Append("</tr>");
        // OutHtml.Append("</td>");
        OutHtml.Append("<td width=79px style='word-break:break-all;'>"+dRow["TName"].ToString()+"</td>");
        OutHtml.Append("</tr>");
        }
        //添加固定表尾部
        OutHtml.Append("");
        OutHtml.Append("");
        //
        // DGRid.DataSource=dSet;
        // DGRid.DataBind();
        return OutHtml.ToString();
        }
        private KeyVal SeachObj(string strKey, ArrayList mList)
        {
        for (int i=0;i<=mList.Count-1;i++)
        {
        if (((KeyVal)mList[i]).strKey==strKey)
        return (KeyVal)mList[i];
        }
        return null;
        }



        }

        }

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 国产精品亚洲AV三区| 久久亚洲国产最新网站| 好吊色永久免费视频大全| 午夜成年女人毛片免费观看| 亚洲av无码一区二区三区天堂古代| 97在线视频免费公开观看| 91精品国产亚洲爽啪在线影院| 99精品视频在线观看免费播放 | 亚洲 自拍 另类小说综合图区| 亚洲精品无码久久久久久| 国产免费久久精品| 日本特黄特色AAA大片免费| 亚洲黄片手机免费观看| 国产区在线免费观看| 国产精一品亚洲二区在线播放| 日韩电影免费在线观看| 中文字幕亚洲色图| 成年女人男人免费视频播放 | 亚洲精品无码日韩国产不卡?V| 一级毛片a免费播放王色电影| 亚洲无线一二三四区手机| 国产免费人成视频在线播放播 | 日韩精品极品视频在线观看免费| 18gay台湾男同亚洲男同| 67194成是人免费无码| 国产亚洲综合视频| 亚洲成av人片天堂网| 黄+色+性+人免费| 久久精品国产亚洲av瑜伽| JLZZJLZZ亚洲乱熟无码| 美丽姑娘免费观看在线观看中文版| 亚洲国产日产无码精品| 国产免费一区二区三区VR| 男人进去女人爽免费视频国产| 亚洲午夜国产精品| 亚洲Av无码乱码在线znlu| 久99久精品免费视频热77| 亚洲高清毛片一区二区| 亚洲精品亚洲人成在线观看| 无码人妻精品中文字幕免费东京热| 在线观看亚洲免费|