我需要将基于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)
答案 0 :(得分:1)
您需要在DataItem中放置一些内容,以启用或禁用radiobutton并将其分配给Enabled属性。
已启用=&#39;&lt;%#DataBinder.Eval(Container.DataItem,&#34; booleanData&#34;)%&gt;&#39;
如果您需要选中或取消选中RadioButton,请使用Checked属性。