博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
绑定List<T>到asp:Table控件
阅读量:6482 次
发布时间:2019-06-23

本文共 2911 字,大约阅读时间需要 9 分钟。

动态产生asp:Table控件,并加入PlaceHolder容器中,然后把List<T>数据绑定至asp:Table控件中显示。首先创建一个对象,这是个纸张对象。有ID和Size两个attribute。 在对象中,还产生一个Collection集合,存储纸张类型。

ExpandedBlockStart.gif
Pager
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
///
 
<summary>
///
 Summary description for Pager
///
 
</summary>
namespace Insus.NET
{
    
public 
class Pager
    {
        
private 
int _ID;
        
private 
string _Size;
        
public 
int ID
        {
            
get { 
return _ID; }
            
set { _ID = value; }
        }
        
public 
string Size
        {
            
get { 
return _Size; }
            
set { _Size = value; }
        }
        
public Pager()
        {
            
//
            
//
 TODO: Add constructor logic here
            
//
        }
        
public Pager(
int id,
string size)
        {
           
this._ID = id;
           
this._Size = size;            
        }
      
public List<Pager> PagerCollections()
        {
            List<Pager> p = 
new List<Pager>();
            p.Add(
new Pager(
1
"
A0
"));
            p.Add(
new Pager(
2
"
A1
"));
            p.Add(
new Pager(
3
"
A2
"));
            p.Add(
new Pager(
4
"
A3
"));
            p.Add(
new Pager(
5
"
A4
"));
            p.Add(
new Pager(
6
"
A5
"));
            
return p;
        }    
    }
}

 

有了数据源之后,就可以动态创建asp:Table了,内有注释。

ExpandedBlockStart.gif
DynamicCreateTable()
  
private 
void DynamicCreateTable()
    {
        
//
把PlaceHolder容器清除所有控件。
        PlaceHolder1.Controls.Clear();
        
//
创建一个空asp:Table
        Table oTable = 
new Table();    
   
        
//
此表的宽度为百分之40
        oTable.Width = Unit.Percentage(
40);
        
//
把这个asp:table加入PlaceHolder容器中。
        PlaceHolder1.Controls.Add(oTable);
        
//
创建一行
        TableRow tr = 
new TableRow();
        
//
指定行的ID。
        tr.ID = 
"
tr0
";
        
//
创建第一行第一列,标题列
        TableHeaderCell hc0 = 
new TableHeaderCell();
        
//
列显示文本
        hc0.Text = 
"
ID
";
        
//
列宽度
        hc0.BorderWidth = Unit.Pixel(
1);
        
//
列加入行中。
        tr.Cells.Add(hc0);
        TableHeaderCell hc1 = 
new TableHeaderCell();
        hc1.Text = 
"
Size
";
        hc1.BorderWidth = Unit.Pixel(
1);
        tr.Cells.Add(hc1);
        
//
把行加入表中。
        oTable.Rows.Add(tr);
        
//
for each List<T> 
        Pager objPg = 
new Pager();
        objPg.PagerCollections().ForEach(
delegate(Pager p)
        {
            TableRow tbr = 
new TableRow();
            tbr.ID = 
"
tr
" + p.ID.ToString();
            TableCell tc0 = 
new TableCell();
            tc0.Text = p.ID.ToString();
            tc0.BorderWidth = Unit.Pixel(
1);
            tbr.Cells.Add(tc0);
            TableCell tc1 = 
new TableCell();
            tc1.Text = p.Size;
            tc1.BorderWidth = Unit.Pixel(
1);
            tbr.Cells.Add(tc1);
            oTable.Rows.Add(tbr);
        }); 
    }

 

如果想在显示于aspx页面中,需要在aspx放一个asp:PlaceHolder容器,第12行。

ExpandedBlockStart.gif
View Code
 1 
<%
@ Page Language
=
"
C#
"
 AutoEventWireup
=
"
true
"
 CodeFile
=
"
Default.aspx.cs
"
 Inherits
=
"
_Default
"
 
%>
 2 
 3 
<!
DOCTYPE html
>
 4 
 5 
<
html 
xmlns
="http://www.w3.org/1999/xhtml"
>
 6 
<
head 
runat
="server"
>
 7     
<
title
></
title
>
 8 
</
head
>
 9 
<
body
>
10     
<
form 
id
="form1"
 runat
="server"
>
11         
<
div
>             
12             
<
asp:PlaceHolder 
ID
="PlaceHolder1"
 runat
="server"
></
asp:PlaceHolder
>           
13         
</
div
>       
14     
</
form
>
15 
</
body
>
16 
</
html
>

 

在.aspx.cs代码页的Page_Load事件写,第11至14行代码。

ExpandedBlockStart.gif
View Code
 1 
using System;
 2 
using System.Collections.Generic;
 3 
using System.Linq;
 4 
using System.Web;
 5 
using System.Web.UI;
 6 
using System.Web.UI.WebControls;
 7 
using Insus.NET;
 8 
 9 
public 
partial 
class _Default : System.Web.UI.Page
10 {
11     
protected 
void Page_Load(
object sender, EventArgs e)
12     {
13         DynamicCreateTable();
14     }  
15 }

 

 

转载地址:http://trfuo.baihongyu.com/

你可能感兴趣的文章
在iOS当中发送电子邮件和短信
查看>>
13~1003的和
查看>>
pycharm如何新项目如何不默认创建虚拟环境(吐槽)
查看>>
Loadrunner检查点小结(很经典)
查看>>
MySQL字段类型详解
查看>>
ORACLE 的游标
查看>>
虚拟机安装的UBUNTU全屏的方法:
查看>>
java虚拟机类加载器
查看>>
ASP.NET状态管理之八(会话Session)
查看>>
background
查看>>
转载:大型网站架构演变和知识体系
查看>>
set集合
查看>>
SVN服务器的搭建和使用
查看>>
mvc中枚举的使用和绑定枚举值到DropDownListFor
查看>>
多目标跟踪的评价指标
查看>>
HTTPS(SSL)详解以及PHP调用方法
查看>>
突发小事件,USB接口问题
查看>>
Nginx负载均衡配置实例详解
查看>>
L1-009. N个数求和
查看>>
实参传递不当导致的运行时错误
查看>>