Установка нескольких DataKeyNames в GridView из разных объектов таблицы ActiveRecord - PullRequest
0 голосов
/ 14 июля 2009

Я пытаюсь установить два datakeys, используя свойство DataKeyNames asp.net GridView.

У меня есть простой запрос:

Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION> c = new Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION>(@"
            select c from CONFIGURATION c left join c.LUserConfiguration luc left join luc.User u left join u.Dealer d left join c.TRUCK t");

В операции привязки данных дилерский центр будет оцениваться следующим образом:

<% Eval ("LUserConfiguration.User.Dealer.DealershipID")% >

Но когда я пытаюсь установить DataKeyNames = "ID, LUserConfiguration.User.Dealer.DealershipID", я получаю ошибку: «Привязка данных:« ARMapping.CONFIGURATION »не содержит свойство с именем« LUserConfiguration.User.Dealer.DealershipID '. »

Он не жалуется, когда он Eval'd, но я не могу поместить Eval в свойство DataKeyNames.

Есть идеи?

1 Ответ

0 голосов
/ 15 июля 2009

Следуя схеме, изложенной здесь , я смог решить проблему.

Краткое объяснение ... Я создал новый частичный класс класса CONFIGURATION (я сделал это, потому что мой код ActiveRecord генерируется автоматически, и я не мог его изменить. Я уверен, что это в любом случае рекомендуется использовать поскольку ваши модели почти всегда имеют расширенные функциональные возможности, для которых идеально подходит частичный класс.

Частичный класс следует:

Partial Public Class CONFIGURATION

    Public ReadOnly Property GetDealerID() As Integer
        Get
            Return LUserConfigurations.Item(0).Users.Dealer.ID
        End Get
    End Property
End Class

Затем я установил атрибут DataKeyNames GridView в «ID, GetDealerID». Я не проверял, но страница загружается без ошибок.

Необходимо убедиться, что вы создаете свойство , а не функцию (по ссылке выше).

...