2009-09-24 51 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」