国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

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

如何通過動態生成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;
}



}

}

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

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

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

        国产精品1024| 成人美女视频在线观看| 国产精品一线二线三线| 欧美va在线播放| 国产精品一区二区在线观看不卡| 精品国产一区a| 成人黄色片在线观看| 亚洲猫色日本管| 欧美日韩大陆在线| 国产一区二区久久| 一区二区三区视频在线观看| 宅男在线国产精品| 成人18精品视频| 视频一区视频二区中文| 国产日韩成人精品| 欧美日韩国产免费一区二区| 国产精品中文字幕一区二区三区| 亚洲欧洲一区二区三区| 欧美一级理论性理论a| 成人高清免费观看| 乱中年女人伦av一区二区| 成人欧美一区二区三区白人| 欧美一区二区视频免费观看| 99久久婷婷国产综合精品电影| 天天色天天操综合| 国产精品免费久久| 日韩欧美中文字幕制服| 一本到一区二区三区| 精品一区二区在线观看| 亚洲最大成人网4388xx| 国产欧美日产一区| 日韩亚洲国产中文字幕欧美| 日本韩国精品在线| av午夜精品一区二区三区| 久久99在线观看| 婷婷开心激情综合| 亚洲欧美另类久久久精品| 久久久久久久精| 欧美成人猛片aaaaaaa| 欧美综合一区二区三区| www.日韩av| 成人精品小蝌蚪| 国产91在线观看丝袜| 激情欧美一区二区三区在线观看| 午夜亚洲福利老司机| 亚洲午夜激情av| 一二三区精品福利视频| 亚洲精品老司机| 夜夜嗨av一区二区三区网页| 中文字幕在线一区免费| 国产欧美一二三区| 国产精品午夜电影| 中文字幕在线不卡视频| 中文字幕亚洲电影| 亚洲男女毛片无遮挡| 成人免费在线播放视频| 亚洲天堂免费看| 亚洲免费观看高清| 亚洲一区在线看| 调教+趴+乳夹+国产+精品| 日韩国产欧美三级| 精品伊人久久久久7777人| 韩国欧美国产1区| 国产精品伊人色| av激情亚洲男人天堂| 91在线免费播放| 欧美性受xxxx| 欧美一区二区三区在线视频| 精品人伦一区二区色婷婷| 久久久.com| 亚洲精品免费在线播放| 五月天视频一区| 久久精品国产99国产| 粉嫩aⅴ一区二区三区四区五区| 99精品视频在线播放观看| 在线观看www91| 欧美一区二区三区喷汁尤物| 久久久噜噜噜久久人人看 | 欧美三级一区二区| 日韩视频一区二区三区| 日本一区二区三区在线不卡| 国产精品美女久久久久久久 | 亚洲国产精品成人久久综合一区| 国产精品久久久久久久久免费桃花| 亚洲男人都懂的| 美女国产一区二区| 99热99精品| 日韩你懂的在线播放| 国产精品国模大尺度视频| 亚洲v日本v欧美v久久精品| 国产一区激情在线| 色婷婷综合久久久中文一区二区 | 日韩**一区毛片| 丁香一区二区三区| 51精品久久久久久久蜜臀| 国产日韩欧美综合一区| 亚洲成人先锋电影| 国产精品18久久久久久久久| 欧美日韩精品电影| 日韩一区在线免费观看| 精品在线观看免费| 欧美少妇一区二区| 国产精品福利电影一区二区三区四区| 丝袜亚洲另类丝袜在线| 91视频在线观看免费| 久久久精品免费免费| 香港成人在线视频| 色婷婷综合久久久久中文一区二区| 日韩精品一区在线| 亚洲成人动漫在线观看| www.欧美.com| 国产欧美一区二区三区鸳鸯浴| 石原莉奈在线亚洲三区| 色呦呦日韩精品| 国产精品久99| 国产成人日日夜夜| 精品国产第一区二区三区观看体验| 亚洲r级在线视频| 色琪琪一区二区三区亚洲区| 日本一区二区三区在线不卡| 激情综合色综合久久| 欧美成人午夜电影| 日韩在线一区二区三区| 欧美伊人精品成人久久综合97| 亚洲欧美在线视频| www.亚洲色图.com| 中文字幕亚洲精品在线观看| 成人av集中营| 成人免费在线观看入口| 色综合天天性综合| 亚洲美女在线国产| 欧美性大战久久久| 五月婷婷激情综合网| 欧美一区二区精品久久911| 日本 国产 欧美色综合| 欧美一卡二卡在线观看| 久久精品国产99| 欧美大白屁股肥臀xxxxxx| 美女在线一区二区| 欧美精品一区二区三区久久久| 麻豆精品在线播放| 久久精品夜色噜噜亚洲aⅴ| 国产福利一区在线| 中文字幕日韩一区| 欧美亚洲动漫精品| 日韩成人免费在线| 久久青草欧美一区二区三区| 风间由美一区二区av101| 国产精品久久久久久久岛一牛影视 | 国产成人高清在线| 亚洲人成伊人成综合网小说| 欧美视频精品在线| 久久精品国产秦先生| 国产精品天干天干在观线| 国产乱子伦一区二区三区国色天香| 久久综合九色综合97婷婷| 国产iv一区二区三区| 日韩理论电影院| 欧美日韩黄色一区二区| 久久91精品久久久久久秒播| 一区在线中文字幕| 欧美一区二区免费视频| 国产老肥熟一区二区三区| 国产精品国产自产拍高清av| 欧美日韩电影在线播放| 国产福利一区二区三区视频在线| 亚洲欧美怡红院| 欧美精品三级在线观看| 国产一区二区精品久久| 一区二区三区久久| 久久久久国产免费免费| 日本韩国一区二区三区| 国产真实精品久久二三区| 一区二区三区精品在线| 51久久夜色精品国产麻豆| 国产激情一区二区三区| 天天操天天综合网| 国产日韩欧美亚洲| 91精品国产综合久久精品性色| 成人伦理片在线| 性做久久久久久| 国产精品久久毛片av大全日韩| 欧美图区在线视频| 成人免费看黄yyy456| 日本视频一区二区三区| 亚洲综合无码一区二区| 精品国产亚洲一区二区三区在线观看| 国产福利视频一区二区三区| 亚洲尤物视频在线| 17c精品麻豆一区二区免费| 日韩欧美国产三级| 91成人网在线| 91偷拍与自偷拍精品| 不卡的av中国片| 国精品**一区二区三区在线蜜桃| 亚洲制服丝袜一区| 国产人妖乱国产精品人妖| 精品国产露脸精彩对白| 欧美一区二区在线看| 欧美精三区欧美精三区|