2009-09-24 47 views
0

我有一个GridView使用绑定到我的数据库中的表的LinqDataSource。我的这张表有一个int外键。在我的表示层中,在Gridview中使用TemplateField,我隐藏了外键值,并对数据库进行了另一次调用,以显示其关联名称的名称,以便用户更易读。覆盖GridView中一列的自动排序?

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

回答

0

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

0

只是为了增加马修·琼斯说的你必须指定如何访问该字段。例如

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; } 
} 

如果你结合“儿童”的一个表,你想排序的妈妈财产的SortExpression将是“Mom.Name”