【问题标题】:Ordering dynamic data rows by value按值排序动态数据行
【发布时间】:2014-01-14 22:14:24
【问题描述】:

我正在使用 Visual Studio 2010、linq-to-entities 和 vb.net 4.0 创建一个带脚手架的动态数据站点。

默认按照sql数据库的主键顺序显示行,如图:

我希望布尔“优先级”字段为 TRUE 的字段高于其他字段。有没有办法在 vb.net 中做到这一点?

【问题讨论】:

  • 我无法解决将优先行格式化为红色的方法。

标签: asp.net vb.net visual-studio-2010 linq-to-entities dynamic-data


【解决方案1】:

如果您使用的是 LinqDataSource,您可以添加OrderBy = "priority Descending",如下所示:

<asp:LinqDataSource 
    ContextTypeName="MyDataContext" 
    TableName="Orders" 
    OrderBy="priority Descending"
    ID="LinqDataSource1" 
    runat="server">

【讨论】:

    【解决方案2】:

    您可以在 LINQ 查询中添加排序子句。如果您使用的是查询语法,那将是这样的:

    Dim q = From row In myTable
            Order By row.Priority Descending, row.ID
            Select row
    

    如果您使用的是函数语法,那么它将是这样的:

    Dim q = myTable.OrderByDescending(Function(row) row.Priority).ThenBy(Function(row) row.ID)
    

    【讨论】:

    • 在哪里可以找到 LINQ 查询?
    • 您究竟是如何获取数据的?您是否只是从 EF 上下文的属性中获取所有数据?如果是这样,那么这将等同于我上面代码中的“myTable”。然后,您需要编写一个查询,类似于我上面提供的内容,并添加排序子句。
    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2019-12-10
    • 2012-07-12
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多