我是telerik controls的新手。我在radcombobox的页脚模板中有“显示所有帐号..”的锚标记
<telerik:RadComboBox runat="server" ID="rcmdExpAc" TabIndex="22" EmptyMessage="" HighlightTemplatedItems="true"
AllowCustomText="true" Width="235" OnClientDropDownOpening="OnClientDropDownOpeningExpAc" OnClientDropDownClosing="OnClientDropDownClosingExpAc">
<ItemTemplate>
<div class="combo-item-template">
<table>
<tr>
<td style="width: 40px;">
<span> <%# Eval("colAccCode")%> </span>
</td>
<td style="width: 400px;">
<span> <%# Eval("colAccName")%> </span>
</td>
<td style="width: 110px;">
<span> <%# Eval("colAcTypeName")%></span>
</td>
</tr>
</table>
</div>
</ItemTemplate>
<FooterTemplate>
<a id="ExpenseAccount" class="blue" style="text-decoration: underline;" href="#signup" name="signup" rel="leanModal">New Account...</a>
<a id="ElnkShowIncomeAccount" class="blue" style="text-decoration: underline; cursor: pointer;" onclick="EShowAllOrPaymentAccount(this);" >Show All Accounts...</a>
</FooterTemplate>
</telerik:RadComboBox>`
在显示所有帐户时单击调用ajax调用并使用combobox重新绑定,但组合框仅绑定数据库中的一列...这里是ajax调用的代码.....
function EShowAllOrPaymentAccount(event) {
var dropDown = $find("rcmdExpAc");
if (event.innerHTML == "Show All Accounts...") {
$.ajax({
url: "../Handlers/Expense.ashx",
type: 'GET',
data: {
rType: "GetAllPaymentAccRecord",
CompanyID: $('#compid').val()
},
dataType: 'json',
success: function (data) {
dropDown.clearItems();
$.each(data, function (indx, itm) {
var comboItem = new Telerik.Web.UI.RadComboBoxItem();
comboItem.set_value(itm.colAccId);
comboItem.set_text(itm.colAccCode);
dropDown.trackChanges();
dropDown.get_items().add(comboItem);
dropDown.commitChanges();
});
},
error: function (a, b, c) {
alert(a + " " + b + " " + c);
}
});
}
}
我想绑定Eval("colAccName")%>,Eval("colAccCode")%>,Eval("colAcTypeName")%>
早先在radcombo中定义。但我只找到一种方法将一列绑定到colAccID ...请指导我如何绑定数据库中的3列,这些列在此javascript代码的模板中定义。
答案 0 :(得分:0)
您应该定义 ClientItemTemplate ,如此demo所示。 在客户端创建组合项时使用它。
您还可以使用属性来存储有关该项目的其他信息(文本,值+帐户类型,帐户代码等)。语法也可以在documentation。
中看到