Атрибут ASP.NET Dynamic Data DisplayColumn, вызывающий проблему сортировки - PullRequest
3 голосов
/ 08 апреля 2009

Использование динамических данных ASP.NET с LINQ to SQL DataContext из базы данных Northwind ...

Когда я добавляю атрибут DisplayColumn к одному из моих классов LINQ to SQL entity и ссылаюсь на свойство из своего пользовательского кода в частичном классе, я теряю возможность сортировки по этому столбцу в сгенерированных GridViews . Я продолжаю терять способность сортировки, даже если я ссылаюсь на нестандартное свойство как sortColumn.

Почему это происходит?

Пример кода:

[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
    public string LastNameFirstName
    {
        get { return LastName + ", " + FirstName; }
    }
}

Aaron

РЕДАКТИРОВАТЬ: sortColumn указывает столбец, который будет использоваться для сортировки этого объекта, когда он используется в качестве внешнего ключа (в DropDownList ), а не когда он сортируется в GridView .

Ответы [ 4 ]

2 голосов
/ 26 января 2010

Это может быть по замыслу ...

"sortColumn" указывает столбец, который будет использоваться для сортировки этой сущности, когда она используется в качестве внешнего ключа (в DropDownList), а не когда она сортируется в GridView.

2 голосов
/ 10 апреля 2009

Это правильно, потому что свойство отсутствует в БД, и linq to SQL будет пытаться создать T-SQL-запрос к БД для получения ваших сущностей. но не удастся, потому что это не столбец с таким именем.

0 голосов
/ 23 ноября 2009

Попробуйте добавить [ScaffoldColumn (true)] * - это может обмануть динамические данные, чтобы включить сортировку

[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
    [ScaffoldColumn(true)]
    public string LastNameFirstName
    {
        get { return LastName + ", " + FirstName; }
    }
}
0 голосов
/ 15 апреля 2009

Вы можете попробовать переопределить метод ToString (), который может работать, но он будет фильтровать только сущность, на которую ссылается отношение FK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...