王骏的BLOG
编程、网络技术点滴...
<2005年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
公告

留言簿(24)

随笔分类

随笔档案

文章分类

文章档案

相册

WEB开发

相关链接

搜索

最新评论

阅读排行榜

评论排行榜

 
VC知识库BLOG   首页  新随笔  联系  聚合  登录 
  随笔-61 文章-5 评论-247 Trackbacks-0

本笔记仅供本人备忘之用

因为需要对Item中的内容与样式进行修改,所以采用Label控件

1)添加OnItemDataBound事件处理

<asp:repeater id="Repeater1" OnItemDataBound="Repeater1_ItemDataBound" runat="server">
<HeaderTemplate>
    
<TABLE border="1">
    
<TR>
        
<TD>用户名</TD>
        
<TD>年龄</TD>
    
</TR>
</HeaderTemplate>
<ItemTemplate>
    
<TR bgcolor="<%# TrColor%>">
        
<TD><asp:Label id="UsernameLabel" text='<%# DataBinder.Eval(Container.DataItem, "username") %>' runat="server"></asp:Label></TD>
        
<TD><%# ((DataRowView)Container.DataItem)["age"%></TD>
    
</TR>
</ItemTemplate>
<FooterTemplate>
    
</TABLE>
</FooterTemplate>
</asp:repeater>

2)数据绑定(没特别之处)

protected string TrColor = "#90F0FF";
private    bool bOdd = true;

private void Page_Load(object sender, System.EventArgs e)
{
    
// 创建数据集
    DataSet ds = new DataSet();

    
// 添加表格
    DataTable tbl = ds.Tables.Add("mytable");
            
    
// 添加字段
    tbl.Columns.Add("username");
    tbl.Columns.Add(
"age"typeof(int));

    
// 添加新行
    DataRow row = tbl.NewRow();
    row[
"username"= "小王";
    row[
"age"= 28;
    tbl.Rows.Add(row);

    row 
= tbl.NewRow();
    row[
"username"= "小郭";
    row[
"age"= 25;
    tbl.Rows.Add(row);

    row 
= tbl.NewRow();
    row[
"username"= "小强";
    row[
"age"= 23;
    tbl.Rows.Add(row);

    
// 给Repeater控件设置数据源并进行数据绑定
    Repeater1.DataSource = tbl.DefaultView;// ds.Tables[0].DefaultView; 
    Repeater1.DataBind();
}

3)ItemDataBound事件处理函数Repeater1_ItemDataBound

public void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    
if ((e.Item.ItemType == ListItemType.Item)||(e.Item.ItemType == ListItemType.AlternatingItem))
    
{
        
// 取得数据项并修改内容与颜色
        Label UsernameLabel = (Label)e.Item.FindControl("UsernameLabel");
        UsernameLabel.Text 
= "职员" + ((DataRowView)e.Item.DataItem)["username"];
        UsernameLabel.ForeColor 
= Color.Blue;

        
// 这几行是修改TR的背景色,没有找到更优雅的方法,暂且这么用
        if(bOdd)
        
{
            TrColor 
= "#F0FF90";
            bOdd 
= false;
        }

        
else
        
{
            TrColor 
= "#90F0FF";
            bOdd 
= true;
        }

    }

    
if (e.Item.ItemType == ListItemType.Footer)
    
{
    }

}

4)运行结果
用户名 年龄
职员小王 28
职员小郭 25
职员小强 23
posted on 2005-10-30 22:20 王骏的BLOG 阅读(816) 评论(0)  编辑 收藏
Comments
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]