相于Repeater中使用绑定下拉列表一事 .

关于其它控件绑定这一块网上有很多,但发现repeater这一块很少,结合网上知识总结如下:

    1,在repeater上抓取控件及进行数据绑定;

      一般是在数据绑定后,或着是在ItemDataBound事件中来处理,下面介绍两种方法:

 

       第一种在数据手动绑定后用for循环来查找下拉列表控件(其它控件原理一样),

     

[c-sharp] view plain copy print ?
  1. private void DateBindView()  
  2.  {  
  3.      DataSet ds = new DataSet();  
  4.      ds = BLL.UserInfoManager.GetList();  
  5.      rptContent.DataSource = ds;  
  6.      rptContent.DataBind();  
  7.      DropDownList dllOperator;  
  8.      for (int j = 0; j < this.rptContent.Items.Count; j++)  
  9.      {  
  10.          dllOperator = (DropDownList)this.rptContent.Items[j].FindControl("dllOperator");  
  11.          dllOperator.DataSource = BLL.StateInfoManager.GetList().Tables[0].DefaultView;  
  12.          dllOperator.DataTextField = "Remark";  
  13.          dllOperator.DataValueField = "stateid";  
  14.          dllOperator.DataBind();   
  15.   
  16.          DataRowView rowv = (DataRowView)this.rptContent.Items[j].DataItem;  
  17.          //设置初始项   
  18.          dllOperator.Items.Add(new ListItem("-Choose-"""));  
  19.          dllOperator.SelectedValue = ds.Tables[0].Rows[j][4].ToString();//获到当前列的状态ID用于绑定下拉列表   
  20.      }   
  21.  }  

    

     第二种有ItemDataBound方法中进行查找下拉列表,并进行当前数据的绑定.这个地方很关键!

   

    

[c-sharp] view plain copy print ?
  1. protected void rptContent_ItemDataBound(object sender, RepeaterItemEventArgs e)  
  2.    {  
  3.        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)  
  4.        {  
  5.                DropDownList dllOperator = (DropDownList)e.Item.FindControl("dllOperator");  
  6.          
  7.                dllOperator.DataTextField = "Remark";  
  8.                dllOperator.DataValueField = "stateid";  
  9.                dllOperator.DataSource = BLL.StateInfoManager.GetList().Tables[0].DefaultView;  
  10.                //BLL.StateInfoManager.GetList().Tables[0].DefaultView;   
  11.                dllOperator.DataBind();  
  12.                dllOperator.Items.Add(new ListItem("-Choose-"""));  
  13.                //找到分类Repeater关联的数据项    
  14.                DataRowView rowv = (DataRowView)e.Item.DataItem;//获取当前项行数据再去访问那一列.注意坐标索引是从0开始   
  15.   
  16.                dllOperator.SelectedValue =rowv[4].ToString();  
  17.        }  
  18.    }  

 

 

     而前台只需一句代码就OK了

        <asp:DropDownList ID="dllOperator" runat="server"></asp:DropDownList>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值