【问题标题】:Override automatic sorting for one column in GridView?覆盖GridView中一列的自动排序?
【发布时间】:2009-09-24 17:03:50
【问题描述】:

我有一个使用 LinqDataSource 的 GridView,它与我的数据库中的一个表相关联。我的这张表有一个 int 外键。在我的表示层中,使用 Gridview 中的 TemplateField,我隐藏了外键值并再次调用数据库以显示其关联名称的名称,以便用户更易读。

但是,当我单击外键的标题对其列进行排序时,它按 id 值排序,而不是按其关联名称的字符串值排序。我怎样才能使这个 Gridview 按它的名称而不是它的外键值排序?

【问题讨论】:

    标签: asp.net linq-to-sql gridview sorting


    【解决方案1】:

    将键列的SortExpression设置为数据源中Name列的名称。

    【讨论】:

      【解决方案2】:

      只是为了补充 Matthew Jones 所说的内容,您必须指定如何访问该字段。例如

      class Parent
      {
         public int Id { get; set; }
         public string Name { get; set; }
      }
      
      class Child
      {
         public int Id { get; set; }
         public Parent Mom { get; set; }
         public Parent Dad { get; set; }
      }
      

      如果您正在绑定一个 'Child' 表并且您想对 Mom 属性进行排序,SortExpression 将是“Mom.Name”

      【讨论】:

        猜你喜欢
        • 2018-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多