国产午夜成人免费看片无遮挡_日本免费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>

        在线精品国精品国产尤物884a| 色婷婷av一区二区三区之一色屋| 狠狠网亚洲精品| 在线一区二区三区做爰视频网站| 玉足女爽爽91| 欧美日韩免费在线视频| 图片区小说区国产精品视频| 91精品婷婷国产综合久久竹菊| 丝袜诱惑制服诱惑色一区在线观看 | 日韩欧美一二三四区| 日韩主播视频在线| 日韩一区二区三区免费观看| 久久99精品网久久| 国产日产欧美一区| 在线免费观看日本欧美| 琪琪久久久久日韩精品| 欧美国产一区在线| 欧美日韩午夜影院| 国产精品综合网| 一区二区日韩电影| 精品国产一区久久| 在线这里只有精品| 国产一区二区久久| 亚洲一区二区四区蜜桃| 久久久久久97三级| 欧美日韩国产小视频在线观看| 国产乱码精品一区二区三| 一区二区视频在线看| 日韩精品中文字幕一区二区三区| 国产精品一区二区三区四区| 亚洲精品欧美二区三区中文字幕| 日韩欧美一二区| 色八戒一区二区三区| 国内精品不卡在线| 亚洲午夜久久久久久久久久久| 精品国精品国产| 91久久精品网| 成人小视频在线观看| 午夜视频一区在线观看| 国产精品毛片无遮挡高清| 日韩欧美中文字幕制服| 色偷偷一区二区三区| 国产一区二区剧情av在线| 看电视剧不卡顿的网站| 日韩av一区二| 午夜伦欧美伦电影理论片| 国产精品青草久久| 精品sm捆绑视频| 欧美剧情电影在线观看完整版免费励志电影 | 欧美中文字幕久久| 国产精品一区二区视频| 麻豆精品在线观看| 亚洲国产精品人人做人人爽| 亚洲欧洲美洲综合色网| 久久精品欧美一区二区三区不卡| 欧美一级午夜免费电影| 欧美日免费三级在线| 91污片在线观看| 91在线精品秘密一区二区| 成人网页在线观看| 成人动漫视频在线| 成人性生交大片免费看在线播放 | 日韩精品中文字幕在线一区| 在线不卡中文字幕播放| 在线成人小视频| 欧美一级夜夜爽| 亚洲精品一区二区三区影院| 精品国产乱码久久久久久免费| 精品捆绑美女sm三区| 久久色成人在线| 国产精品久久久久一区二区三区共| 国产精品视频在线看| 亚洲视频一区在线观看| 亚洲一区精品在线| 日韩成人一级片| 激情都市一区二区| 成人一区二区视频| 91高清在线观看| 欧美一激情一区二区三区| 久久影院午夜片一区| 中文字幕一区二区三区色视频| 一区二区三区自拍| 午夜精品成人在线| 精品一区二区三区在线观看国产| 国产一区二区三区国产| youjizz国产精品| 欧美色综合天天久久综合精品| 欧美伦理影视网| 欧美成人在线直播| 欧美国产日韩一二三区| 亚洲综合色区另类av| 理论电影国产精品| 91网站最新网址| 日韩一区二区麻豆国产| 国产精品美女一区二区| 午夜激情一区二区三区| 国产jizzjizz一区二区| 在线精品国精品国产尤物884a| 欧美电影精品一区二区| 国产精品电影一区二区三区| 天天亚洲美女在线视频| 国产99精品国产| 欧美日高清视频| 国产精品麻豆欧美日韩ww| 五月激情综合网| 国产成a人亚洲| 欧美美女一区二区三区| 中文字幕精品—区二区四季| 日韩精品亚洲专区| 成人一二三区视频| 欧美一级二级在线观看| 亚洲欧美视频一区| 国产成人综合网站| 日韩一区二区视频在线观看| 亚洲日本电影在线| 国产白丝精品91爽爽久久| 欧美一区二区三区四区久久| 亚洲精品写真福利| 国产一区中文字幕| 91精品国产综合久久福利软件| 中文字幕一区二区三区四区不卡 | 日韩国产精品久久久久久亚洲| 成人精品一区二区三区四区| 欧美夫妻性生活| 一区二区三区欧美日| 国产精品一区二区三区四区| 欧美一区二区精品| 亚洲成人中文在线| 色综合咪咪久久| 亚洲欧美怡红院| 国产成人av电影在线观看| 日韩美一区二区三区| 日韩高清不卡一区二区三区| 欧美羞羞免费网站| 一区二区三区四区不卡在线| 91在线无精精品入口| 亚洲欧美色图小说| 91国模大尺度私拍在线视频| 一区二区三区在线播放| 久久久欧美精品sm网站| 美女性感视频久久| 精品久久一区二区| 狠狠色综合色综合网络| 中文字幕欧美日本乱码一线二线| 丁香婷婷综合五月| 亚洲免费在线播放| 777精品伊人久久久久大香线蕉| 蜜桃视频在线观看一区| 国产亚洲精品免费| 91女厕偷拍女厕偷拍高清| 亚洲精品久久久久久国产精华液| 欧美亚洲综合网| 激情图区综合网| 亚洲色图.com| 日韩一级黄色片| 成人性视频免费网站| 香蕉久久夜色精品国产使用方法| 日韩免费视频一区| 97久久超碰国产精品| 日韩精品成人一区二区三区| 中文字幕欧美日韩一区| 欧美日韩免费电影| 激情六月婷婷久久| 亚洲精品成人在线| 精品国产人成亚洲区| 91小视频在线免费看| 日韩精品一级中文字幕精品视频免费观看 | 欧美激情一区二区三区不卡| 色偷偷成人一区二区三区91| 婷婷国产在线综合| 国产91精品一区二区麻豆亚洲| 久久久久久免费网| 91在线云播放| 日本va欧美va瓶| 欧美韩日一区二区三区四区| 亚洲一级二级在线| 久久噜噜亚洲综合| 99精品国产一区二区三区不卡 | 久久精品综合网| www.欧美日韩国产在线| 一区二区三区国产豹纹内裤在线| 制服丝袜亚洲色图| 韩国毛片一区二区三区| 欧美激情一区二区三区| 精品乱人伦一区二区三区| 欧美三级视频在线观看| 99这里都是精品| 国产一区二区在线看| 日日夜夜一区二区| 亚洲伊人色欲综合网| 国产精品高潮呻吟| 久久久高清一区二区三区| 欧美精品电影在线播放| 欧美亚洲综合另类| 色偷偷88欧美精品久久久| 成人的网站免费观看| 国产福利一区二区三区视频| 激情综合网最新| 蜜臀va亚洲va欧美va天堂| 天使萌一区二区三区免费观看|