在一个项目模板中对下拉列表和标签进行排序

时间:2013-08-21 15:11:43

标签: c# asp.net sorting visual-studio-2008

我有需要修改的项目。我需要在表格中对列进行排序。问题是该列包含标签或下拉列表,这取决于我没有访问的外部数据。

<asp:TemplateField HeaderText="System" >
<ItemTemplate>
<asp:Label ID="LabelSystem" runat="server" Text="Failure" />
<asp:DropDownList ID="DropDownListSystem" runat="server" DataTextField="name" />
</ItemTemplate>
</asp:TemplateField>

有人可以协助吗?我需要根据按名称排序的元素类型对元素进行排序。 所以对于exp。 FirstLabel SecondLabel FirstDropDownList SecondDropDownList ThirdDropDownList

为了更好地解释我的想法,我准备了插图:)

排序前的表格:

Before

现在按下“系统”后,它应该用以下两种方式之一对列进行排序:

After

2 个答案:

答案 0 :(得分:0)

此处与此问题类似 - Sorting dropdown list using Javascript

$("#id").html($("#id option").sort(function (a, b) { return a.text > b.text; }

答案 1 :(得分:0)

您的数据源下拉列表在哪里?如果它被SQL Server查询填充,您只需在查询本身到达下拉列表之前对其进行排序。

喜欢这个

Create proc spGetNames
as
Begin
    SELECT *
    FROM NamesList
    ORDER BY Name
End

你到底想要做什么?以特定顺序添加模板字段将从上到下根据它们在该顺序中的位置从左到右呈现它们。如果要对表中的特定列进行排序,那么我提供的解决方案就足够了。也许你想根据满足某个条件的结果对表格进行排序?如果是这样,你可以通过你的sql查询传递一个参数,允许这种情况发生,例如

Create proc spGetNames
@Condition nvarchar(50)
as
Begin
    SELECT *
    FROM NamesList
    ORDER BY @Condition
End