0

任何人都有指向代码示例的链接,或者您可以提供一个片段来完成此任务。我在 Telerik 网站上一片空白

4

2 回答 2

2

不久前我不得不把一些东西放在一起,发现散落在 Telerik 的网站和博客中的代码片段。因此,我不想为创建以下代码而“功劳”……但这就是我正在使用的:

将此添加到您的CSS

.rcbHeader ul, .rcbFooter ul, .rcbItem ul, .rcbHovered ul, .rcbDisabled ul
{
    width: 100%;
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.col1, .col2, .col3
{
    float: left;
    width: 100px;
    margin: 0;
    padding: 0 0px 0 0;
    line-height: 14px;
}

如果你想要一个“项目计数器”添加这个 javascript 函数

function UpdateItemCountField(sender, args) {
        //set the footer text
        sender.get_dropDownElement().lastChild.innerHTML = "A total of " + sender.get_items().get_count() + " items";
    }

这是 RadComboBox 的代码

<telerik:RadComboBox runat="server" ID="rcbInvoiceNumber" Height="190px" Width="350px"
    MarkFirstMatch="true" EnableLoadOnDemand="true" HighlightTemplatedItems="true"
    OnClientItemsRequested="UpdateItemCountField" OnItemDataBound="rcbInvoiceNumber_ItemDataBound"
    OnItemsRequested="rcbInvoiceNumber_ItemsRequested" EmptyMessage="Enter Invoice Number"
    ChangeTextOnKeyBoardNavigation="true" ValidationGroup="QuickPay">
    <HeaderTemplate>
        <ul>
            <li class="col1">Invoice Number</li>
            <li class="col2">PO Number</li>
            <li class="col3">Invoice Total</li>
        </ul>
    </HeaderTemplate>
    <ItemTemplate>
        <ul>
            <li class="col1">
                <%# DataBinder.Eval(Container.DataItem, "InvoiceNumber") %></li>
            <li class="col2">
                <%# DataBinder.Eval(Container.DataItem, "PONumber")%></li>
            <li class="col3">
                <%# DataBinder.Eval(Container.DataItem, "TotalInvoice", "{0:C}")%></li>
        </ul>
    </ItemTemplate>
    <FooterTemplate>
        A total of
        <asp:Literal runat="server" ID="RadComboItemsCount" />
        items
    </FooterTemplate>
</telerik:RadComboBox>

最后,后面的代码

    protected void rcbInvoiceNumber_DataBound(object sender, EventArgs e)
    {
        //set the initial footer label
        ((Literal)rcbInvoiceNumber.Footer.FindControl("RadComboItemsCount")).Text = Convert.ToString(rcbInvoiceNumber.Items.Count);
    }

    protected void rcbInvoiceNumber_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)
    {
        var invs = new VInvoicesCasesTotalCollection()
            .Load();

        rcbInvoiceNumber.DataSource = invs.ToDataTable();
        rcbInvoiceNumber.DataBind();
    }

    protected void rcbInvoiceNumber_ItemDataBound(object sender, RadComboBoxItemEventArgs e)
    {
        //set the Text and Value property of every item
        //here you can set any other properties like Enabled, ToolTip, Visible, etc.
        e.Item.Text = ((DataRowView)e.Item.DataItem)["InvoiceNumber"].ToString();
        e.Item.Value = ((DataRowView)e.Item.DataItem)["InvoiceID"].ToString();
    }

应该注意的是,我已将 Telerik.Web.UI 添加到我的 using 语句中。

希望这至少有助于引导您朝着正确的方向前进。

于 2011-11-09T17:16:16.773 回答
0

我已经看到了这个页面上的链接,并在他们的页面上寻找答案,因为我确信我以前看过它。

clk 帖子的评论部分中提到的链接确实是一个演示,但是如果您想要基础知识并且很可能是最容易查看的文档,可以在这里找到。

正如您所提到的,您正在为后面的代码加载数据,所以您可以先加载实体,然后设置数据源,然后在页面加载中继续关注我的链接文章代码的其余部分。

希望它有一点帮助。

于 2011-11-10T18:28:18.067 回答