将动态单选按钮对象添加到GridView

时间:2015-04-07 20:55:46

标签: asp.net vb.net datagridview telerik

我需要将基于if条件创建的自定义单选按钮控件添加到GridView中。我的radiobutton将根据这个条件启用或禁用,并具有文本 改变了。

我试图弄清楚如何将radiobutton对象添加到我的数据行而不是字符串 dt.Columns.Add(" FirstName")

<telerik:RadGrid runat="server" ID="grd1" OnNeedDataSource="grd1_NeedDataSource"> 
<MasterTableView AutoGenerateColumns="False">
<Columns>
     <telerik:GridTemplateColumn HeaderText="Radiobutton header" UniqueName="col1">
      <ItemTemplate>
       <asp:RadioButton ID="rbType" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "rbEnableorDisable")%>' />
       </ItemTemplate>
       </telerik:GridTemplateColumn>

       <telerik:GridTemplateColumn HeaderText="FirstName header" UniqueName="col2">
       <ItemTemplate>
       <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "Name")%>' runat="server" />
       </ItemTemplate>
       </telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>

代码隐藏

Private dt As DataTable
Private dr As DataRow

dt= New DataTable
dt.Columns.Add("rbEnableorDisable")
dt.Columns.Add("FirstName")

Dim rb As RadioButton
rb = New RadioButton

For each item in itemlist //some data iteration declared elsewhere
 dr = dt.NewRow()
   If (Condition)
      rb.Text = "Should be Disabled"
      rb.Enabled = False
   Else
      rb.Text = "Should be Enabled"
      rb.Enabled = True
   End if

   dr.Item("FirstName") = item.FirstName
   dr.Item("rbEnableOrDisable") = rb//?Code for inserting a radio button object
   dt.Rows.Add(dr)
Next

    With grd1
        .DataSource = dt
        .DataBind()
    End With

到目前为止这个代码 如果我有 dr.Item(&#34; rbEnableOrDisable&#34;)= rb.Text,我只能显示radiobutton文本。

我需要显示整个radiobutton对象(显示文本以及是否已启用或禁用它们)

我试过

LocationData.Columns.Add(新DataColumn(&#34; rbType&#34;,GetType(RadioButton)))

但似乎我需要附加到ItemTemplate

还尝试使用以下方法添加整个列动态:

grd1.Controls.Add(RB)

1 个答案:

答案 0 :(得分:1)

您需要在DataItem中放置一些内容,以启用或禁用radiobutton并将其分配给Enabled属性。

已启用=&#39;&lt;%#DataBinder.Eval(Container.DataItem,&#34; booleanData&#34;)%&gt;&#39;

如果您需要选中或取消选中RadioButton,请使用Checked属性。