亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

如何通過動態生成Html靈活實現DataGrid分類統計的界面顯示功能

2024-08-26 00:15:34
字體:
來源:轉載
供稿:網友
步入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>"+
"</table>"+
"</td>"+
"<td style='width: 86px; height: 34px'>教師名稱</td>"+
"</tr>");
outhtml.append("</table><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></table>");
// outhtml.append("</td>");
outhtml.append("<td width=79px style='word-break:break-all;'>"+drow["tname"].tostring()+"</td>");
outhtml.append("</tr>");
}
//添加固定表尾部
outhtml.append("</table>");
outhtml.append("</table>");
//
// 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网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产精品视频| 久久综合免费视频| 欧美黑人xxxⅹ高潮交| 亚洲精品二三区| 欧美极品欧美精品欧美视频| 自拍视频国产精品| 不卡在线观看电视剧完整版| 精品性高朝久久久久久久| 日韩av片永久免费网站| 亚洲奶大毛多的老太婆| 97人洗澡人人免费公开视频碰碰碰| 国产精品欧美日韩久久| 日韩成人网免费视频| 九九精品在线播放| 日韩经典一区二区三区| 日韩在线欧美在线| 久久久国产在线视频| 最新的欧美黄色| 久久久www成人免费精品张筱雨| 青青精品视频播放| 日韩av在线免费播放| 福利精品视频在线| 日韩在线欧美在线| 欧美激情小视频| 亚洲精品www| 一级做a爰片久久毛片美女图片| 亚洲国产欧美一区二区三区久久| 亚洲欧洲国产伦综合| 18久久久久久| 尤物yw午夜国产精品视频明星| 国产日韩欧美在线视频观看| 九九视频这里只有精品| 欧美日韩美女视频| 亚洲精品xxx| 亚洲人午夜色婷婷| 国产精品1234| 国产成人精品综合久久久| 日韩av影院在线观看| 亚洲人成在线电影| 亚洲欧美在线一区二区| 日韩国产中文字幕| 2019中文字幕在线免费观看| 欧美视频在线视频| 一级做a爰片久久毛片美女图片| 亚洲电影免费观看高清完整版| 日韩电影中文 亚洲精品乱码| 亚洲欧洲日产国码av系列天堂| 欧美精品在线播放| 久久亚洲国产精品成人av秋霞| 97视频在线观看网址| 亚洲成人网久久久| 亚洲97在线观看| 日韩一区视频在线| 4388成人网| 国产精品第七十二页| 国产精品青草久久久久福利99| 97人洗澡人人免费公开视频碰碰碰| 91精品久久久久久久久青青| 成人激情电影一区二区| 色综合久久久888| 久久av红桃一区二区小说| 精品中文字幕在线| 欧美中文在线字幕| 久久人人97超碰精品888| 中文字幕视频一区二区在线有码| 日韩一区二区三区在线播放| 国产精品一区二区av影院萌芽| 欧美日韩在线一区| 亚洲精品乱码久久久久久金桔影视| 国产午夜精品全部视频在线播放| 中文字幕日韩精品在线观看| 国产精品99免视看9| 国产ts人妖一区二区三区| 亚洲国产欧美久久| 黄网动漫久久久| 国产精品va在线播放| 国产精品国产三级国产专播精品人| 亚洲欧美在线一区| 这里只有精品丝袜| 亚洲精品98久久久久久中文字幕| 欧美日韩在线第一页| 欧美劲爆第一页| 国产网站欧美日韩免费精品在线观看| 日韩在线不卡视频| 亚洲天堂av在线播放| 国产一区二区三区免费视频| 久久免费少妇高潮久久精品99| 色系列之999| 一区二区三区日韩在线| 国产一区二区动漫| 亚洲一区二区久久久久久久| 精品久久久香蕉免费精品视频| 日韩人在线观看| 欧美成人免费va影院高清| 欧美性极品少妇精品网站| 欧美日韩另类在线| 国产在线视频欧美| 国产精品jvid在线观看蜜臀| 欧美性xxxxxxxxx| 欧美成人高清视频| 亚洲国产成人久久综合一区| 欧美性精品220| 欧美一级黑人aaaaaaa做受| 另类图片亚洲另类| 国产九九精品视频| 日韩精品在线免费| 欧美大片va欧美在线播放| 日韩视频免费大全中文字幕| 日韩成人在线视频观看| 日本一区二区在线免费播放| 国产精品99久久久久久人| 国产精品一区av| 欧美夫妻性生活视频| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品96久久久久久又黄又硬| 精品亚洲一区二区三区| 欧美性高跟鞋xxxxhd| 久久精品视频免费播放| 国产精品777| 中文字幕精品—区二区| 国产日韩欧美另类| 97成人超碰免| 国产成人精品免费久久久久| 久久天天躁日日躁| 国产美女精品免费电影| 久久天天躁狠狠躁夜夜爽蜜月| 欧美人与性动交a欧美精品| 国产精品成熟老女人| 国产视频自拍一区| 久久成人这里只有精品| 日本乱人伦a精品| 亚洲一区二区精品| 久久欧美在线电影| 欧美精品免费在线观看| 精品国产自在精品国产浪潮| 欧美激情国产高清| 91美女片黄在线观看游戏| 在线观看精品自拍私拍| 日本高清不卡在线| 欧美精品久久久久久久免费观看| 欧美激情视频免费观看| 欧美亚洲国产视频小说| 亚洲成人激情在线观看| 国产在线观看91精品一区| 97婷婷大伊香蕉精品视频| 国产做受69高潮| 这里只有视频精品| 久久视频在线视频| 奇门遁甲1982国语版免费观看高清| 国产美女精品视频| 国产精品福利在线| 亚洲xxxx做受欧美| 国产欧美欧洲在线观看| 欧美日韩国产999| 色狠狠av一区二区三区香蕉蜜桃| 亚洲男人天堂古典| 97精品国产97久久久久久春色| 国产精品久久久久久久久借妻| 久久综合网hezyo| 热re99久久精品国产66热| 午夜精品在线观看| 国产精品电影网| 久久久久久com| 亚洲欧美制服综合另类|