将动态单选按钮对象添加到 GridView
Add dynamic radio button object to GridView
我需要将我根据 if 条件创建的自定义单选按钮控件添加到我的 GridView。我的单选按钮将根据此条件启用或禁用,并将显示文本
也改变了。
我想知道如何将单选按钮对象而不是字符串添加到我的数据行中 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("rbEnableOrDisable") = rb.Text.
,我只能显示单选按钮文本
我需要显示整个单选按钮对象(显示文本以及是否启用或禁用)
我试过了
LocationData.Columns.Add(新建数据列("rbType", GetType(RadioButton)))
但我似乎需要附加到 ItemTemplate
还尝试添加整个动态列:
grd1.Controls.Add(rb)
您需要在您的 DataItem 中添加一些内容来启用或禁用单选按钮并将其分配给已启用 属性。
启用='<%# DataBinder.Eval(Container.DataItem, "booleanData")%>'
如果您需要选中或取消选中 RadioButton,请使用 Checked 属性。
我需要将我根据 if 条件创建的自定义单选按钮控件添加到我的 GridView。我的单选按钮将根据此条件启用或禁用,并将显示文本 也改变了。
我想知道如何将单选按钮对象而不是字符串添加到我的数据行中 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("rbEnableOrDisable") = rb.Text.
,我只能显示单选按钮文本我需要显示整个单选按钮对象(显示文本以及是否启用或禁用)
我试过了
LocationData.Columns.Add(新建数据列("rbType", GetType(RadioButton)))
但我似乎需要附加到 ItemTemplate
还尝试添加整个动态列:
grd1.Controls.Add(rb)
您需要在您的 DataItem 中添加一些内容来启用或禁用单选按钮并将其分配给已启用 属性。
启用='<%# DataBinder.Eval(Container.DataItem, "booleanData")%>'
如果您需要选中或取消选中 RadioButton,请使用 Checked 属性。