为了账号安全,请及时绑定邮箱和手机立即绑定

表格绑定数据源

标签:
JavaScript

"Table表格可以动态绑定数据源吗?能绑定什么类型的数据源呢?控件绑定的不好控制样式 想用手写的表格显示数据"?
如下图:

 

看到此图,一般是asp.net显示单记录的详细。不管你是用

<asp:Table ID="Table1" runat="server"></asp:Table>


还是

 <table style="width: 100%;">                <tr>                    <td>&nbsp;</td>                                   </tr>                           </table>


它是web控件或是html标签,不是数据控件(如Repeater,DataList或GridView),因此没有DataSource的方法。

 如果想把数据绑定至这样的表格中,多少得用手动定制好这个表格,有值显示的field用Label来替代,这样子,才可以在.aspx.cs把数据绑定在其上。

 接下来,我们得准备数据,你可以在数据库,或是在asp.cs中创建Data collection也行,为了简单一些,Insus.NET在asp.cs创建一个DataTable,并填充一笔记录。


如果你想添加多笔的话,需在上图把第40行拷贝,然后粘帖在其后,然后改动不同的数据。如:


Ok,怎样把这某一笔显示于刚才的table上呢?,参考下图第21至26行代码,就是绑定数据。

 看看效果:

 

 

 

以下内容于2013-04-27 12:25补充。

真的,只能如此吗?能否象GridView,DataList或Repeater 数据控件一样,使用

 <%# Eval("XXX") %>


不管成功与否,都得尝试一下。先把aspx的html改了:

改好了,我们转至.aspx.cs中,写一个属性,如下图高亮的代码:



把原来返回DataTable改为返回DataRowView:



今天重构的部分,都是化繁为简,改动的地方也非常少。我们再看Data_Binding()方法:

 

ok,如果你不太喜欢DataRowView的话,可以使用面向对象来处理:
创建一个对象:

DriveInfor

using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for DriveInfor/// </summary>namespace Insus.NET{    public class DriveInfor    {        private string _Name;        private string _No;        private string _PermToDrive;        private string _licAuthority;        private string _F_Date;        private string _N_Date;        public string Name        {            get { return _Name; }            set { _Name = value; }        }        public string No        {            get { return _No; }            set { _No = value; }        }        public string PermToDrive        {            get { return _PermToDrive; }            set { _PermToDrive = value; }        }        public string licAuthority        {            get { return _licAuthority; }            set { _licAuthority = value; }        }        public string F_Date        {            get { return _F_Date; }            set { _F_Date = value; }        }        public string N_Date        {            get { return _N_Date; }            set { _N_Date = value; }        }        public DriveInfor()        {            //            // TODO: Add constructor logic here            //        }    }}


在.aspx.cs填充数据至这个对象:


这样更尽完美。

重构完成,运行结果与昨天的一样。Insus.NET在想,网友看到之后,也会喜欢此篇博文的。

 

以下内容于2013-04-28 11:43补充:
可以下载源程序,包含三种绑定方法,程序于.NET 4.0下运行。
http://download.cnblogs.com/insus/ASPDOTNET/DataBind_Demo.rar

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
数据库工程师
手记
粉丝
52
获赞与收藏
361

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消