我有一个使用LinqDataSource的GridView,它连接到我的数据库中的表。我的这个表有一个int外键。在我的表示层中,使用Gridview中的TemplateField,我隐藏了外键值并再次调用数据库以显示其相关名称的名称,因此对用户来说更具可读性。
但是,当我单击外键的标题对其列进行排序时,它会按id值排序,而不是它的关联名称的字符串值。我如何根据它的名称而不是它的外键值来对这个Gridview进行排序?
答案 0 :(得分:0)
将键列的SortExpression设置为数据源中Name列的名称。
答案 1 :(得分:0)
只是添加马修琼斯所说的你必须指定如何访问该字段。 e.g。
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”