【问题标题】:Sorting the items in the RadComboBox which contains columns:对包含列的 RadComboBox 中的项目进行排序:
【发布时间】:2017-10-30 23:07:11
【问题描述】:

我有一个如下所示的 RadComboBox:-

<telerik:RadComboBox ID="RadComboBox" runat="server"  EmptyMessage="Select"  DataSourceID="SqlDataSource1" DataTextField="name" DataValueField="id" ShowMoreResultsBox="true" EnableVirtualScrolling="true" HighlightTemplatedItems="true" ItemsPerRequest="10" >
                    <HeaderTemplate>
                        <table style="width: 500px">
                            <tr>
                                <td style="font-weight: bold; width: 400px">Name</td>
                                <td style="font-weight: bold; width: 100px">ID</td>
                            </tr>
                        </table>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <table style="width: 500px">
                            <tr>
                                <td style="width: 400px"><%#DataBinder.Eval(Container.DataItem, "name")%></td>
                                <td style="width: 100px"><%#DataBinder.Eval(Container.DataItem, "id")%></td>
                            </tr>
                        </table>
                    </ItemTemplate>
                </telerik:RadComboBox>
                <asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:SqlConnectionString %>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM table1 order by name asc" />    

现在它正在填满我的RadComboBox

现在我想在我点击&lt;HeaderTemplate&gt; "Name" 时按字母顺序对我的RadComboBox 中的项目进行排序,当我点击&lt;HeaderTemplate&gt; "ID" 时我想按数字对其进行排序。

现在如何实现这一点,任何人都可以给我任何建议或帮助,谢谢!

【问题讨论】:

    标签: asp.net vb.net telerik columnsorting


    【解决方案1】:

    您将遇到困难,因为此功能不是内置的。一个想法是向您的标题添加一个 JavaScript 点击事件,使用它来填充隐藏元素。然后检查元素并在服务器上应用您的排序。我会用一些伪代码给你一个想法。

    <script>
        function Sort(field){
           //fill hidden server element with field or some indicator
           //rebind combo box with sorted data
        }
    </script>
    
    <HeaderTemplate>
                            <table style="width: 500px">
                                <tr>
                                    <td style="font-weight: bold; width: 400px" onclick="Sort('name')">Name</td>
                                    <td style="font-weight: bold; width: 100px" onclick="Sort('ID')">ID</td>
                                </tr>
                            </table>
                        </HeaderTemplate>
    

    【讨论】:

    • 我尝试了你的建议,但没有成功,新的问题也开始出现。由于这不是内置功能,我认为这是不可能的!
    • @JackCarothers 很抱歉听到这个消息,这并非不可能。继续努力,积极思考!祝你好运。
    • 是的,我想我可以将 RadGrid 添加到 DropDown 并使添加的 RadGrid 的 Header 可排序!这似乎是解决这个问题的最合适的方法。非常感谢!!
    • 很高兴你知道了,如果我的回答有帮助,请标记为已接受,这样我就可以获得我想象中的互联网积分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 2012-07-07
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多