checkBoxList应用于Gridview

             如果一个表格的某一列是多个checkbox的list组合,可以采用模板列,在模板列中安放checkboxlist。

             首先定义一个gridview,然后加入几列数据,另外再加入一个模板列,用来加载checkboxlist:                    

              <asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="false" Width="100%">

                     <Columns>

                          <asp:BoundFiel HeaderText="Location" DataFiel="Location"/>         //第一列数据从数据库中读取

                         <asp:TemplateField HeaderText="Active">         //第二列是模板列,加载radiobutton按钮

                                 <ItemTemplate>           //模板列

                                        <asp:RadioButton ID="radioButton1" runat="Server"/>        //加载radiobutton按钮

                                </ItemTemplate>

                                </ItemStyle HorizontalAlign="Center">          //定义模板列的样式

                        </asp:TemplateField>

                      <asp:TemplateField>                  //定义第三列,仍为模板列,加载CheckBoxList

                             <ItemTemplate>

                                     <asp:CheckBoxList ID="checkBoxList1" runat="Server"></asp:CheckBoxList>

                             </ItemTemplate>

                             </ItemStyle HorizontalAlign="Center">

                      </asp:TemplateField>

                    </Columns> 

            </asp:GridView>          

            下面就需要给GridView加载数据了。但是需要注意的是,GridView的每一行都有一列是CheckBoxList,为此我们需要在GridView的RowDataBound事件中给CheckBoxList赋值。

             首先给GridView加载数据:

              Private Sub BindGridView( )

                      Dim ds As New DataSet( )

                      ds =......                 //从数据库中读取数据

                       GridView1.DataSource =ds.Table(0)

                       GridView1.DataBind( )               //数据绑定,此时会调用GridView1_RowDataBound事件

                End Sub

               然后定义GridView1_RowDataBound事件

              Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

              If e.Row.RowType =DataControlRowType.DataRow Then             //判断是否为数据列

               Dim chboxlist As New CheckBoxList( )                   //声明一个CheckBoxList控件

               chboxlist = CType(e.Row.FindControl("checkBoxList1"), CheckBoxList)   //寻找GridView中的heckBoxList
               Dim ds As New DataSet()
               ds.ReadXml(Server.MapPath("XMLFile.xml"))      //从xml中读取数据,当然也可从数据库中获取数据

               chboxlist.DataSource = ds.Tables(0)
               chboxlist.DataTextField = ds.Tables(0).Columns(0).ToString
               chboxlist.DataValueField = ds.Tables(0).Columns(1).ToString
               chboxlist.DataBind()

              End If

          End Sub

           好了,完成了,运行完毕就可以看到效果了,CheckBoxList已经绑定了。

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值