获取 Telerik 多列组合框中特定列的值
本文关键字:Telerik 组合 获取 | 更新日期: 2023-09-27 18:31:41
<telerik:RadComboBox ID="drpEmployeeItemID" runat="server" DropDownWidth="825px" EnableLoadOnDemand="true" Height="190px">
<HeaderTemplate>
<ul>
<li class="col1">ItemName</li>
<li class="col2">ColorName</li>
<li class="col3">StyleName</li>
<li class="col4">BrandName</li>
<li class="col5">ModelName</li>
<li class="col6">LotNo</li>
<li class="col7">BatchNo</li>
<li class="col8">CountryName</li>
</ul>
</HeaderTemplate>
<ItemTemplate>
<ul>
<li class="col1">
<%# DataBinder.Eval(Container.DataItem, "ItemName")%></li>
<li class="col2">
<%# DataBinder.Eval(Container.DataItem, "ColorName")%></li>
<li class="col3">
<%# DataBinder.Eval(Container.DataItem, "StyleName")%></li>
<li class="col4">
<%# DataBinder.Eval(Container.DataItem, "BrandName")%></li>
<li class="col5">
<%# DataBinder.Eval(Container.DataItem, "ModelName")%></li>
<li class="col6">
<%# DataBinder.Eval(Container.DataItem, "LotNo")%></li>
<li class="col7">
<%# DataBinder.Eval(Container.DataItem, "BatchNo")%></li>
<li class="col8">
<%# DataBinder.Eval(Container.DataItem, "CountryName")%></li>
</ul>
</ItemTemplate>
</telerik:RadComboBox>
</div>
我必须获取所选项目的LotNo
。我已经尝试过GetSelectedItem/getselectedvalue。但没有选择特定列。
设置OnDataBound
事件
telerik:RadComboBox ID="drpEmployeeItemID" OnDataBound="drpEmployeeItemID_DataBound"
定义处理程序
protected void drpEmployeeItemID_DataBound(object sender, RadComboBoxItemEventArgs e)
{
e.Item.Text = ((DataRowView)e.Item.DataItem)["ItemName"].ToString() ;
e.Item.Value = ((DataRowView)e.Item.DataItem)["LotNo"].ToString();
// set attributes
e.Item.Attributes["ColorName"] = dataItem["ColorName"];
e.Item.Attributes["StyleName"] = dataItem["StyleName"];
...
}
使用屁股中的文本和值
var itemName = drpEmployeeItemID.Text;
var value = drpEmployeeItemID.SelectedValue;
// get item
var item = drpEmployeeItemID.FindItemByValue(value);
var colorName = item.Attributes["ColorName"];
编辑现在有办法在数据绑定后获取原始DataItem
。如果要向项添加更多属性,可以使用Attributes
集合来存储它们。
另一种方法是将原始数据源保存在会话中,并按所选值查找数据项。