在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

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

如何通過動態生成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在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 亚洲一级片网站| 高清无码一区二区在线观看吞精| 国内自拍中文字幕| 91最新在线观看| 亚洲中文字幕无码专区| 午夜免费福利网站| 色播五月综合网| 日韩福利视频在线| 亚欧在线免费观看| 日本精品一区在线观看| 国内av免费观看| 今天免费高清在线观看国语| 国产精品99久久久久久大便| 看看黄色一级片| 超碰在线免费观看97| 国产女同无遮挡互慰高潮91| 成人在线看视频| 亚洲美女性囗交| 午夜啪啪免费视频| 中文字幕の友人北条麻妃| 亚洲av无日韩毛片久久| 欧美一级小视频| 波多野结衣与黑人| 亚洲 高清 成人 动漫| 欧美性潮喷xxxxx免费视频看| 男人的天堂avav| 凹凸日日摸日日碰夜夜爽1| 日韩精品无码一区二区三区免费| 人人干人人干人人| 久久福利一区二区| 成人免费观看cn| 亚洲图色中文字幕| 国产曰肥老太婆无遮挡| 欧美亚洲日本在线观看| 日本黄色播放器| 成年人视频在线免费| 国产精品自在自线| 无罩大乳的熟妇正在播放| 国内自拍视频一区| 黄色片免费在线观看视频| 在线免费视频a| 亚洲精品久久久久久久蜜桃臀| 北条麻妃69av| 欧美h视频在线观看| 韩国一区二区av| 日韩精品视频在线观看视频| 九九热免费在线观看| 欧美a在线视频| 黄色一级片黄色| 黑人巨茎大战欧美白妇| 男人插女人下面免费视频| 3d动漫一区二区三区| 午夜啪啪福利视频| 久久久久久综合网| 美女喷白浆视频| 国产成人久久777777| 欧美一级视频免费看| 男人插女人视频在线观看| 看一级黄色录像| 波多野结衣与黑人| 午夜免费福利网站| 国内自拍第二页| 黄色一级片网址| 欧美国产日韩在线视频| 国产精品美女在线播放| 亚洲精品国产一区二区三区| 成人不卡免费视频| 99中文字幕在线| 成人黄色片免费| 日韩欧美精品免费| 中国丰满人妻videoshd| 情侣黄网站免费看| 日本黄色的视频| 无码日本精品xxxxxxxxx| 欧美成人精品欧美一级乱| jizz欧美激情18| 天天综合中文字幕| 男人添女人下面高潮视频| 日韩av资源在线| 日本中文字幕在线不卡| 春日野结衣av| 亚洲妇熟xx妇色黄蜜桃| 日韩免费一级视频| 一级全黄肉体裸体全过程| 无码人妻h动漫| 91免费国产精品| 亚洲欧美手机在线| 国产精品沙发午睡系列| 国产不卡的av| 国产喷水theporn| 欧美亚洲一二三区| 超级碰在线观看| 中文字幕第22页| 免费在线激情视频| 成人免费在线网| 成人在线免费观看视频网站| 99视频免费播放| 日本老熟妇毛茸茸| 日本网站免费在线观看| 欧美一区二区视频在线播放| 四虎1515hh.com| wwwwwxxxx日本| 15—17女人毛片| www.com黄色片| 天天爽天天爽夜夜爽| 三上悠亚av一区二区三区| 国产精品免费成人| 99热这里只有精品在线播放| 黑鬼大战白妞高潮喷白浆| 又色又爽又高潮免费视频国产| 国产免费黄视频| 无码少妇一区二区三区芒果| 天天操天天摸天天爽| 久久久国产欧美| 自拍一级黄色片| 玖玖精品在线视频| 精品国产一二三四区| 久久久久国产精品熟女影院| 校园春色 亚洲色图| 亚洲av无日韩毛片久久| 国产精品第157页| 欧美私人情侣网站| 麻豆中文字幕在线观看| 97超碰国产精品| 国产福利一区视频| 黄色一级视频播放| 日韩精品一区二区三区久久| 欧美性受xxxxxx黑人xyx性爽| 400部精品国偷自产在线观看| 免费av观看网址| 日韩精品视频网址| 欧美极品欧美精品欧美图片| 亚洲18在线看污www麻豆| 久久黄色片视频| 国产欧美精品aaaaaa片| 97超碰成人在线| 青青草原av在线播放| www.激情网| 六月婷婷激情网| 91日韩视频在线观看| 久久久久久久久久久免费视频| 在线观看三级网站| 久久黄色片网站| 五月婷婷六月丁香激情| 青青青国产在线观看| 女人被男人躁得好爽免费视频 | 天天在线免费视频| 99中文字幕在线| 成年人网站av| 中文字幕一区二区在线观看视频| 日韩手机在线观看视频| 黄色一级在线视频| 极品美女扒开粉嫩小泬| 日韩一级特黄毛片| 四虎4hu永久免费入口| 久久视频免费在线| 91网站在线观看免费| 分分操这里只有精品| xxxx18hd亚洲hd捆绑| 日韩欧美亚洲天堂| 北条麻妃av高潮尖叫在线观看| 日本999视频| 天天成人综合网| 欧美日韩不卡在线视频| 777777av| 天天视频天天爽| 潘金莲一级淫片aaaaaa播放1| 亚洲精品天堂成人片av在线播放| 97超碰在线人人| 日韩一级免费在线观看| 亚洲一区二区福利视频| 国产一二三区在线播放| 少妇高清精品毛片在线视频| 成人av毛片在线观看| 欧美精品自拍视频| 911福利视频| 久久精品免费一区二区| www.久久久久久久久久久| 国产精品又粗又长| 免费在线观看污网站| 欧美韩国日本在线| 欧美乱做爰xxxⅹ久久久| 国产精品一区二区小说| 国产精品国产亚洲精品看不卡| 高清av免费看| 免费av网址在线| 国产极品尤物在线| 免费看污污视频| 婷婷视频在线播放| www.夜夜爽| 午夜dv内射一区二区| 91精品91久久久中77777老牛| 女同性恋一区二区| 99亚洲精品视频| 波多野结衣三级在线| 玖玖爱视频在线| 午夜精品久久久久久久99热影院| 美女网站免费观看视频| 无码aⅴ精品一区二区三区浪潮| 黄页网站大全在线观看|