A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高宜 中级黑马   /  2012-7-24 09:24  /  4344 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. dataRowView rowView=(DataRowView)e.Item.DataItem;
  2. var  personRow=rowView.Row;
复制代码
不是很懂?求详解

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
1,Repeater控件全是模板列不会像其它的数据绑定控件自动生成一堆的代码 ;
2,ItemDataBound应该是页面加载时触发,因为repeater控件是需要事先绑定数据源的。
3,在读取DataList数据时,若数据源是DataSet和DataTable时,可以用DataRowView view = (DataRowView)e.Item.DataItem语句来获取控件数据。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
原理:在生成datalist列时ItemDataBound触发,也就是说每生成一列就触发一次。这个事件的触发要早于itemcommand.  

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
repeater数据绑定控件,主要是用来进行数据展示的,帮定一个数据源objectdatasource就可以了
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {

            DataRowView rowView = (DataRowView)e.Item.DataItem;
            var personRow =( Repeater数据绑定事件.Repeater.DAL.DataSet1.mytableRow )rowView.Row;
            if (personRow.age>30)
            {
                TextBox txtage = (TextBox)e.Item.FindControl("TextBox1");
                txtage.BackColor = Color.Red;
            }
        }

aspx里进行repeater展示:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1"
        onitemdatabound="Repeater1_ItemDataBound">
    <ItemTemplate><%#Eval("username") %><asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("age")%>'></asp:TextBox></ItemTemplate>
    </asp:Repeater>

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马