Telerik rad组合框多列数据绑定

Telerik rad combobox multiple column databinding

本文关键字:数据绑定 rad 组合 Telerik      更新时间:2023-09-26

I是远程遥控器的新手。我在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调用,并使用组合框重新绑定,但组合框只绑定数据库中的一列。。。这是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);
                }
            });
        }
    }

我想绑定之前在radcombo中定义的Eval("colAccName")%>,Eval("colAccCode")%>,Eval("colAcTypeName")%>。但我只找到了一种针对colAccID绑定一列的方法。。。请指导我如何从这个javascript代码中的模板中定义的数据库中绑定3列。

您应该定义一个ClientItemTemplate,如本演示所示。它在客户端创建组合项时使用。

您还可以使用Attributes存储有关项目的其他信息(文本、值+AccountType、AccountCode等)。语法也可以在文档中看到。