获取Telerik Multi column组合框中特定列的值

时间:2014-11-22 11:09:39

标签: c# telerik

<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值。但没有选择特定的栏目。

1 个答案:

答案 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集合来存储它们。

另一种方法是在会话中保存原始数据源,并按选定的值查找数据项。