对RadComboBox中包含列的项进行排序:

时间:2017-05-30 12:52:06

标签: asp.net vb.net telerik columnsorting

我有一个如下的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

现在我想在点击<HeaderTemplate> "Name"时按字母顺序对RadComboBox中的项目进行排序,当我点击<HeaderTemplate> "ID"时,我想用数字排序。

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

1 个答案:

答案 0 :(得分:0)

你将度过一段艰难的时期,因为这个功能不是内置的。一个想法是在你的标题中添加一个JavaScript click事件,用它来填充一个隐藏的元素。然后检查元素并在服务器上应用排序。我会给你一些伪代码的想法。

<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>