如何使用按钮点击进行转发器控制中的排序?

时间:2012-03-09 12:12:28

标签: c# asp.net repeater

我有一个转发器控件,我在其中显示数据库中的值,我需要使用链接按钮进行排序

这是我的代码

<div class="demo">
<ul id="sortable1" class="connectedSortable" style="border-style: groove; border-width: inherit;border-color: #D4D0C8; height: 100%; width: 170px;">
<asp:LinkButton ID="LinkButton2" runat="server" onclick="LinkButton2_Click"   >LinkButton</asp:LinkButton>&nbsp;&nbsp;&nbsp;&nbsp;
<asp:Repeater ID="rpt1" runat="server" DataSourceID="sqlDataSource1">
<ItemTemplate>
<li class="ui-state-default" >
<%# DataBinder.Eval(Container.DataItem, "code") %>
&nbsp;&nbsp;
<%# DataBinder.Eval(Container.DataItem, "regon_name") %>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DB_CGTPO_DEVEConnectionString %>"
SelectCommand="SELECT * FROM [region_test] ORDER BY [code], [regon_name]"></asp:SqlDataSource>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

很快,您可以在这些likn按钮中添加一个事件并更改select命令,如下所示:

public void LinkButton2_Click(object sender, EventArgs e) 
{
   //set the new select command with a ordery by
   SqlDataSource1.SelectCommand = "SELECT * FROM [region_test] ORDER BY [regon_name]";

   //refresh the repeater
   rpt1.DataBind();
}

哟可以为每个按钮添加一个事件,并按命令应用订单! 此链接显示了一个很好的方法来执行它与转发器(使用ViewState保存订单状态): http://weblogs.asp.net/sushilasb/archive/2004/10/09/240110.aspx

[]中