搜狐首页-新闻-体育-娱乐-财经-IT-汽车-房产-家居-女人-TV-ChinaRen-邮件-博客-BBS-搜狗 

数码天下 > 网狐学园-全中国人的电脑学习中心 > 程序开发-网狐学园 > 程序设计其他
开发 ASP.NET 站点中的三种表格化数据方法
时间:2006年01月05日15:56 我来说两句(0)  

 
  在开发ASP.NET站点项目中,经常用表格化的方式显示数据。最常用的可能就是DataGrid绑定DataSet数据的方式。在做过的软件项目中,有3种表格化数据的典型处理方式。

  1、DataGrid绑定数据源。这种方式大家用的最多,但是DataGrid与ADO.NET完美的绑定方式,还是让人不爽。清一色的DataGrid风格很难适应不同项目的特殊风格,而且在DataGrid上做出的个性化处理也会非常的麻烦。

  2、用XML(数据)+XSL(样式单)。大家能理解,DataSet绑定到DataGrid的实现机理不过如此。如图所示,实现这样的一个表格,开发人员可以尽情的设计XSL的风格样式。



    3、直接将数据绘制到HTML。这个方式有些土,但有些时候却非常有效,先看实现的代码。下述代码是实现上图所示的表格。

 1
<table style="WIDTH: 100%; BORDER-COLLAPSE: collapse; HEIGHT: 10px">
 2
                    
<tr>
 3
                        
<td align="center">
 4
                            
<TABLE id="tblContainer" class="MsoNormalTable" style="WIDTH: 380px; BORDER-COLLAPSE: collapse; HEIGHT: 10px"
 5
                                cellSpacing
="0" cellPadding="6" border="1" runat="server" bordercolor="#99cccc">
 6
                                
<tr>
 7
                                    
<td colspan="2" align="center">
 8
                                        
<P><FONT size="3"><STRONG><FONT face="宋体">综合管理部人员职务</FONT></STRONG></FONT></P>
 9
                                    
</td>
10
                                
</tr>
11
                                
<tr>
12
                                    
<td align="center" bgcolor="#003399"><FONT size="2" color="#ffffff"><STRONG>人员姓名</STRONG></FONT></td>
13
                                    
<td align="center" bgcolor="#003399"><FONT size="2" color="#ffffff"><STRONG>部门职务</STRONG></FONT></td>
14
                                
</tr>
15
                            
</TABLE>
16
                        
</td>
17
                    
</tr>
18
                
</table>

  直接用ASP.NET WebControls的Add方法,将Label添加到HTML的Cell中。

  1
public class WebForm2 : System.Web.UI.Page
  2
    
{
  3
    
  4
        
struct PersonRole
  5
        
{
  6
            
public string name;
  7
            
public string role;
  8
        }

  9

 10
        
protected System.Web.UI.HtmlControls.HtmlTable tblContainer;
 11
        
public string strAuditItemID = "A899B637-AC47-42EB-9B61-A61C9C880DDC";
 12
        
private void Page_Load(object sender, System.EventArgs e)
 13
        
{
 14
            
// 在此处放置用户代码以初始化页面
 15
            if(Request.QueryString["AuditItemID"!= null)
 16
            
{
 17
                strAuditItemID 
=  Request.QueryString["AuditItemID"].ToString();
 18
            }

 19

 20
            GetTeamMember(strAuditItemID);
 21
        }

 22

 23
        
Web 窗体设计器生成的代码
 43

 44
        
private void GetTeamMember(string AuditItemID)
 45
        
{
 46
            
string strMaster, strTeamLeader, strPM;
 47
            ArrayList al 
= GetTeamMemberName(AuditItemID, out strMaster, out strTeamLeader, out strPM);
 48

 49
            
foreach(PersonRole pr in al)
 50
            
{
 51
                HtmlTableCell cell
=new HtmlTableCell();    
 52
                cell.Align 
= "Center";
 53
                Label lbl 
= new Label();
 54
                lbl.Text 
= pr.name;
 55
                lbl.Font.Size 
= 9;
 56

 57
                cell.Controls.Add(lbl); 
 58
                HtmlTableRow row
=new HtmlTableRow();
 59
                row.Cells.Add(cell);
 60

 61
                HtmlTableCell cellRole 
= new HtmlTableCell();
 62
                cellRole.Align 
= "Center";
 63
                Label lblRole 
= new Label();
 64
                lblRole.Text 
= pr.role;
 65
                lblRole.Font.Size 
= 9;
 66

 67
                cellRole.Controls.Add(lblRole);
 68
                row.Cells.Add(cellRole);
 69

 70
                tblContainer.Rows.Add(row);                        
 71
            }

 72
        }

 73

 74
        
private ArrayList GetTeamMemberName(string AuditItemID, out string strMasterName, out string strTeamLeader,out string strPM)
 75
        
{
 76
            ArrayList al 
= new ArrayList();
 77
            strMasterName 
= "";
 78
            strTeamLeader 
= "";
 79
            strPM 
= "";
 80
            
 81
            PersonRole pr;
 82
            pr.name 
= "张三";
 83
            pr.role 
= "总经理";
 84
            al.Add(pr);
 85
            
 86
            pr.name 
= "李四";
 87
            pr.role 
= "副总经理";
 88
            al.Add(pr);
 89

 90
            pr.name 
= "王五";
 91
            pr.role 
= "科员";
 92
            al.Add(pr);
 93

 94
            pr.name 
= "赵六";
 95
            pr.role 
= "科员";
 96
            al.Add(pr);
 97

 98
            
return al;
 99
        }

100
    }


  在绘制页面的时候,用哪种方式应该是仁者见仁、智者见智。在站点开发中,这3种方式都有典型的应用,特别是第三种,我发现在解决部分页面处理的性能问题中应用的非常有效。况且可以自动化的Layout页面控件,个性化处理比DataGrid中重写Render更加容易。


热门新闻排行
01 广州Vista盗版江湖调查 全部破解版本大曝光
02 Windows Vista不兼容的应用程序,还有谁?
03 中国海贼版Vista入侵日本 "番茄花园"打头阵
04 挑战视觉享受极限 五款流行多媒体播放器比拼
05 Vista SP1发布计划已定 Windows XP SP3不再来
热门教程排行
01 安装系统不求人 就算没有光驱和软驱也能行
02 让电脑运转如飞 Windows Vista九则加速技巧
03 逐一辩驳:破解Windows Vista的四个性能谣言
04 专家经验谈:Excel工作表的几点设计策略
05 整容大法!Photoshop简单教程之美女去斑篇
蜘蛛侠主题Mod美图赏

蜘蛛侠主题Mod美图赏
两款可爱的iPod音箱

两款可爱的iPod音箱
小心别丢了 全球最袖珍5款科技玩意

全球最袖珍5款科技玩意
最强的概念车设计:超级巴士

概念车设计:超级巴士
LLADRó瓷器诠释人性情感

LLADRó瓷器诠释人性
德国家具设计精选作品

德国家具设计精选
最具创意的多功能床(图)

最具创意的多功能床
2006离生活最近的创意

2006离生活最近的创意
欢迎访问:软件频道 下载频道 网狐学院 数字艺术 考试 病毒与安全 创意赏析

出处: 博客园

(责任编辑:luwei)



共找到 个相关新闻.


我来说两句 全部跟贴(0条) 精华区(0条) 辩论区(0条)

用户:  匿名发表:  隐藏地址:


设为辩论话题      


精彩图片新闻


激情四溢沙滩宝贝


数码公社专栏

相关链接





搜狐短信 小灵通 性感丽人 言语传情
三星图铃专区
[周杰伦] 千里之外
[誓 言] 求佛
[王力宏] 大城小爱
[王心凌] 花的嫁纱
精品专题推荐
短信企业通秀百变功能
浪漫情怀一起漫步音乐
同城约会今夜告别寂寞
敢来挑战你的球技吗?
 精彩生活 

星座运势 每日财运
花边新闻 魔鬼辞典
情感测试 生活笑话


今日运程如何?财运、事业运、桃花运,给你详细道来!!!





菊花台
迷迭香
青青河边草
丁香花
原来你也在这里
爱如空气
不要再来伤害我

公社热图


·北美惊现若干神秘UFO/图
·范冰冰真空写真露点[图]
·传说中国内第一美女车模


频道精彩推荐

·2006年春运
·大熊猫,大陆,台湾
·2006年德国足球世界杯
·李宇春发单曲张朝阳捧场
·MOP收购DONEWS
·回顾2005
·陈凯歌《无极》
·春节晚会
·达喀尔拉力赛
·沙龙中风住院






不怕不怕
吉祥三宝
桃花朵朵开
千里之外
大城小爱
梁祝
迷糊娃娃可爱粉红卡通
四季美眉给你最想要的

news
搜狐分类 ·搜狐招商


创意就是这么简单
女星豪乳尺码大曝光
·现场抓拍明星着透视装
·芙蓉二代横空出世
·央视女主持辞职拍艳照
·徐若瑄15岁全裸写真曝光
·拍摄:娱乐圈性交易过程
·抓拍模特海滩宽衣解带
·外国女生流行拍的艺术照
·台湾十大波霸照片大比拼
·网络美女全裸人体摄影
·范冰冰终于还是脱了

推荐企业
2006年世界电信展 诺基亚 瑞星 联想 摩托罗拉 三星 清华紫光 金山 索尼爱立信 索尼
给编辑写信



设置首页 - 搜狗输入法 - 支付中心 - 搜狐招聘 - 广告服务 - 客服中心 - 联系方式 - 保护隐私权 - About SOHU - 公司介绍 - 全部新闻 - 全部博文
Copyright © 2018 Sohu.com Inc. All Rights Reserved. 搜狐公司 版权所有
搜狐不良信息举报邮箱:jubao@contact.sohu.com