导航
  • 主页
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm
  • WPF
  • 问答

100分相送,求教如何动态为DataList创建ItemTemplate及其中的内容?

jonsonzxw 2003-02-21 04:19:13
100分相送,求教如何动态为DataList创建ItemTemplate及其中的内容,如写一个表?

千万不要给我DataGrid的例子,它与DataList有些区别!有用则马上给分
...全文
55 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhbname 2003-09-03
up
回复
camelials 2003-09-03
我要代码;
发短信给我。
回复
lyfirenana 2003-09-03
re:这个问题被我自己搞定,参考了微软和代码,大家有需要的吗?
贴出来,让大家也学习学习嘛!!
回复
boomshine 2003-05-17
如果不介意,给我一份吧
kingboom@163.com
回复
love4myxsg 2003-05-17
这个问题正好我也没怎么想明白。

love4myxsg@963.net

至于分数。如您愿意,来者不拒。哈哈
回复
jonsonzxw 2003-03-07
分数该给谁呢?
回复
jonsonzxw 2003-03-07
这个问题被我自己搞定,参考了微软和代码,大家有需要的吗?
回复
luckyhqh 2003-03-05
cxx1997(小网虫_L) 老兄,你的是在MSDN上copy 的,
如何在.cs种实现,而不是通过<asp:xxx> </asp:xxx>来实现.
jonsonzxw (.net从入门到精通) 兄:如解决了,给我发个短信.
回复
cxx1997 2003-02-21
兄弟,这种问题大可自己查MSDN呀
回复
cxx1997 2003-02-21


获取或设置 DataList 控件中项的模板。

[Visual Basic]
Overridable Public Property ItemTemplate As ITemplate
[C#]
public virtual ITemplate ItemTemplate {get; set;}
[C++]
public: __property virtual ITemplate* get_ItemTemplate();
public: __property virtual void set_ItemTemplate(ITemplate*);
[JScript]
public function get ItemTemplate() : ITemplate;
public function set ItemTemplate(ITemplate);
属性值
一个 System.Web.UI.ITemplate,它包含 DataList 控件中项的模板。默认值为空引用(Visual Basic 中为 Nothing)。

备注
使用 ItemTemplate 属性控制 DataList 控件中项的内容。DataList 控件中项的外观由 ItemStyle 属性控制。

若要为 DataList 控件中的项指定模板,请在 DataList 控件的开始标记和结束标记之间放置 <ItemTemplate> 标记。然后可以在开始和结束 <ItemTemplate> 标记之间列出模板的内容。

还可以使用 AlternatingItemTemplate 属性来控制 DataList 控件中交替项的内容。

示例
下面的示例展示如何使用 ItemTemplate 属性来控制 DataList 控件中项的内容。


[C#]
<%@ Import Namespace="System.Data" %>

<html>
<script language = "C#" runat="server">

ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;

dt.Columns.Add(new DataColumn("StringValue", typeof(string)));

for (int i = 0; i < 10; i++)
{
dr = dt.NewRow();
dr[0] = "Item " + i.ToString();
dt.Rows.Add(dr);
}

DataView dv = new DataView(dt);
return dv;
}

void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList1.DataSource = CreateDataSource();
DataList1.DataBind();
}
}

void Button1_Click(Object sender, EventArgs e)
{

if (DropDown1.SelectedIndex == 0)
DataList1.RepeatDirection = RepeatDirection.Horizontal;
else
DataList1.RepeatDirection = RepeatDirection.Vertical;

if (DropDown2.SelectedIndex == 0)
DataList1.RepeatLayout = RepeatLayout.Table;
else
DataList1.RepeatLayout = RepeatLayout.Flow;

DataList1.RepeatColumns=DropDown3.SelectedIndex+1;

if ((Check1.Checked ==true) && (DataList1.RepeatLayout == RepeatLayout.Table))
{
DataList1.BorderWidth = Unit.Pixel(1);
DataList1.GridLines = GridLines.Both;
}
else
{
DataList1.BorderWidth = Unit.Pixel(0);
DataList1.GridLines = GridLines.None;
}
}

</script>

<body>

<form runat=server>

<h3>DataList Example</h3>

<asp:DataList id="DataList1" runat="server"
BorderColor="black"
CellPadding="3"
Font-Name="Verdana"
Font-Size="8pt">

<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>

<ItemStyle BackColor="Gainsboro">
</ItemStyle>

<HeaderTemplate>

Items

</HeaderTemplate>

<ItemTemplate>

<%# DataBinder.Eval(Container.DataItem, "StringValue") %>

</ItemTemplate>

</asp:DataList>

<p>
<hr noshade align="left" width="300px">

RepeatDirection:

<asp:DropDownList id=DropDown1 runat="server">

<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem>Vertical</asp:ListItem>

</asp:DropDownList><br>

RepeatLayout:

<asp:DropDownList id=DropDown2 runat="server">

<asp:ListItem>Table</asp:ListItem>
<asp:ListItem>Flow</asp:ListItem>

</asp:DropDownList><br>

RepeatColumns:

<asp:DropDownList id=DropDown3 runat="server">

<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>

</asp:DropDownList><br>

Show Borders:

<asp:CheckBox id=Check1 runat="server" /><p>

<asp:LinkButton id=Button1
Text="Refresh DataList"
OnClick="Button1_Click"
runat="server"/>

</form>

</body>
</html>


回复
发动态
发帖子
C#
创建于2007-09-28

10.4w+

社区成员

.NET技术 C#
申请成为版主
社区公告

全世界最好的语言,没有之一.