我使用RadComboBox进行多项选择,因为我在RadComboBox的ItemTemplate中使用了复选框和隐藏字段,这个RadComboBox在一个网格内,我的标记如下
<asp:TemplateField HeaderText="RESPONSIBLE DEPARTMENT" HeaderStyle-HorizontalAlign="Left">
<EditItemTemplate>
<telerik:RadComboBox TabIndex="2" ID="rcbDept" runat="server" EmptyMessage="--Select Department--"
AllowCustomText="true" EnableScreenBoundaryDetection="false" Width="100px" EnableTextSelection="false"
Filter="Contains" OnClientDropDownClosed="DropDownClosed" OnClientFocus="ClientFocus">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chk1" onclick="onCheckBoxClick(this)" Text='<%# DataBinder.Eval(Container.DataItem, "dept_name") %>' />
<asp:HiddenField ID="hdnColumn" runat="server" />
</ItemTemplate>
</telerik:RadComboBox>
</EditItemTemplate>
<FooterTemplate>
<telerik:RadComboBox TabIndex="2" ID="rcbDept" runat="server" EmptyMessage="--Select Department--"
AllowCustomText="true" EnableScreenBoundaryDetection="false" Width="100px" EnableTextSelection="false"
Filter="Contains" OnClientLoad="GetControlId" OnClientDropDownClosed="DropDownClosed"
OnClientFocus="ClientFocus">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chk1" onclick="onCheckBoxClick(this)" Text='<%# DataBinder.Eval(Container.DataItem, "dept_name") %>' />
<asp:HiddenField ID="hdnColumn" runat="server" />
</ItemTemplate>
</telerik:RadComboBox>
</FooterTemplate>
<ItemTemplate>
<%# Eval("dept_name")%>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" Width="100px" />
<ItemStyle HorizontalAlign="Left" Width="100px" />
<FooterStyle HorizontalAlign="Left" Width="100px" />
</asp:TemplateField>
此部分位于gridview的列标记内 我无法在服务器端访问Radcombobox的itemtemplate的隐藏控件值 任何帮助都会非常值得一提。 在此先感谢!!! ....
答案 0 :(得分:0)
尝试喜欢这个,
foreach (GridViewRow row in GridView1.Rows)
{
string _rcbDeptSelectedValue =
(row.FindControl("rcbDept") as RadComboBox).SelectedValue;
}
答案 1 :(得分:0)
请尝试使用以下代码段。
GridViewRow row = GridView1.FooterRow;
RadComboBox rcbDept = row.FindControl("rcbDept") as RadComboBox;
foreach (RadComboBoxItem item in rcbDept.Items)
{
CheckBox chk1 = (CheckBox)item.FindControl("chk1");
HiddenField hdnColumn = (HiddenField)item.FindControl("hdnColumn");
if (chk1.Checked)
{
//Item checked
string str = hdnColumn.Value;
//Access hiddedn field vale here
}
else
{
//Item Unchecked
string str = hdnColumn.Value;
//Access hiddedn field vale here
}
}
如果有任何疑虑,请告诉我。