<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 / getselected值。但没有选择特定的栏目。
答案 0 :(得分:1)
设置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"];
...
}
使用butto
中的文字和值var itemName = drpEmployeeItemID.Text;
var value = drpEmployeeItemID.SelectedValue;
// get item
var item = drpEmployeeItemID.FindItemByValue(value);
var colorName = item.Attributes["ColorName"];
<强>被修改强>
现在有办法在数据绑定后获得原始DataItem
。如果要为项添加更多属性,可以使用Attributes
集合来存储它们。
另一种方法是在会话中保存原始数据源,并按选定的值查找数据项。