1:
aspx文件:
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"></asp:DataList>
2:
cs文件
DataList1.DataSource=room.ResourceinRooms();//DataView
DataList1.HeaderTemplate=new Templates(0);
DataList1.ItemTemplate=new Templates(1,3);
DataList1.FooterTemplate=new Templates(2);
DataList1.DataBind();
3:Templates接口
using System;
using System.Web.UI;
namespace conference
{
/// <summary>
/// NewTemplate 的摘要说明。
/// </summary>
public class Templates:System.Web.UI.ITemplate
{
public int _WitchTemplate=1;
public int i=1;
public int _HowMany=3;
public Templates()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public Templates(int WitchTemplate,int HowMany)
{
//
// TODO: 在此处添加构造函数逻辑
//
this._WitchTemplate=WitchTemplate;
this._HowMany=HowMany;
if(this._WitchTemplate==1)
i=1;
}
public Templates(int WitchTemplate)
{
//
// TODO: 在此处添加构造函数逻辑
//
this._WitchTemplate=WitchTemplate;
}
#region ITemplate 成员 public void InstantiateIn(System.Web.UI.Control container)
{
// TODO: 添加 NewTemplate.InstantiateIn 实现
switch(this._WitchTemplate)
{
case 0: //HeaderTemplate
{
LiteralControl lt= new LiteralControl();
lt.Text="<TABLE id=\"Table2\" cellSpacing=\"1\" cellPadding=\"1\" width=\"300\" border=\"1\">";
lt.Text+="<TR><td>";
container.Controls.Add(lt);
break; }
case 1://ItemTemplate
{
LiteralControl lt= new LiteralControl();
lt.Text="<td>"; //////////////////////////////////////////////////////////
////////////////////////////////////////////////////////// lt.Text+=<..怎么取得数据源的值...>?????
// lt.Text+=container.DataItem["columnname"];提示“System.ComponentModel.Container”并不包含对“DataItem”的定义
怎么办?
lt.Text="<td>"; //////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
lt.Text+="</td>";
if (i++%this._HowMany==0)
lt.Text+="</tr><tr>";
container.Controls.Add(lt);
break;
}
case 2://FooterTemplate
{
LiteralControl lt= new LiteralControl();
lt.Text="</tr></table>";
container.Controls.Add(lt);
break;
}
case 3://????
{
break;
}
} } #endregion
}
}
aspx文件:
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"></asp:DataList>
2:
cs文件
DataList1.DataSource=room.ResourceinRooms();//DataView
DataList1.HeaderTemplate=new Templates(0);
DataList1.ItemTemplate=new Templates(1,3);
DataList1.FooterTemplate=new Templates(2);
DataList1.DataBind();
3:Templates接口
using System;
using System.Web.UI;
namespace conference
{
/// <summary>
/// NewTemplate 的摘要说明。
/// </summary>
public class Templates:System.Web.UI.ITemplate
{
public int _WitchTemplate=1;
public int i=1;
public int _HowMany=3;
public Templates()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public Templates(int WitchTemplate,int HowMany)
{
//
// TODO: 在此处添加构造函数逻辑
//
this._WitchTemplate=WitchTemplate;
this._HowMany=HowMany;
if(this._WitchTemplate==1)
i=1;
}
public Templates(int WitchTemplate)
{
//
// TODO: 在此处添加构造函数逻辑
//
this._WitchTemplate=WitchTemplate;
}
#region ITemplate 成员 public void InstantiateIn(System.Web.UI.Control container)
{
// TODO: 添加 NewTemplate.InstantiateIn 实现
switch(this._WitchTemplate)
{
case 0: //HeaderTemplate
{
LiteralControl lt= new LiteralControl();
lt.Text="<TABLE id=\"Table2\" cellSpacing=\"1\" cellPadding=\"1\" width=\"300\" border=\"1\">";
lt.Text+="<TR><td>";
container.Controls.Add(lt);
break; }
case 1://ItemTemplate
{
LiteralControl lt= new LiteralControl();
lt.Text="<td>"; //////////////////////////////////////////////////////////
////////////////////////////////////////////////////////// lt.Text+=<..怎么取得数据源的值...>?????
// lt.Text+=container.DataItem["columnname"];提示“System.ComponentModel.Container”并不包含对“DataItem”的定义
怎么办?
lt.Text="<td>"; //////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
lt.Text+="</td>";
if (i++%this._HowMany==0)
lt.Text+="</tr><tr>";
container.Controls.Add(lt);
break;
}
case 2://FooterTemplate
{
LiteralControl lt= new LiteralControl();
lt.Text="</tr></table>";
container.Controls.Add(lt);
break;
}
case 3://????
{
break;
}
} } #endregion
}
}
解决方案 »
- 能否一次new出多个对象
- 如何检索文本文件并读取指定位置的内容
- vs2008 新建项里面有个“关于框”是啥子东东啊?
- 脚本不执行
- 如何让弹出的对话框上的!号图标换掉asp.net
- 想试玩下.Net3.0中的Microsoft Expression Blend和SilverLight但是怕影响我的.net2.0
- 0:50 提问,用 asp.net 调用 CMD 运行 Cacls 命令不正常,而在桌面输入则正常。--已经连续在电脑边坐了15小时了
- 如何理解里面的value,它是关键字吗?
- ASP.NET新手求教!!!
- ================ 如何和当前时间比较,判断这个人是否大于19岁?================
- Access to the path "C:\WINNT\system32\dllcache" is denied.]
- 奇怪asp.net居然可以这样?
{
LiteralControl lt= new LiteralControl();
lt.Text="<td>"; //////////////////////////////////////////////////////////
////////////////////////////////////////////////////////// lt.Text+=<..怎么取得数据源的值...>?????
// lt.Text+=container.DataItem["columnname"];提示“System.ComponentModel.Container”并不包含对“DataItem”的定义
怎么办?
lt.Text="<td>"; //////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
lt.Text+="</td>";
if (i++%this._HowMany==0)
lt.Text+="</tr><tr>";
container.Controls.Add(lt);
break;
}
{
Literal l = new Literal();
l.DataBinding += new EventHandler(this.BindData);
container.Controls.Add(l);
}