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

本文关键字:下拉列表 标签 排序 一个 项目 | 更新日期: 2023-09-27 18:28:26

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

<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。第一个标签第二个标签第一个下拉列表SecondDropDownList第三个下拉列表

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

排序前的表格:

之前

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

之后

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

类似于这里的问题-使用Javascript 排序下拉列表

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

下拉列表的数据源在哪里?如果它是由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