GridView не может найти поле определенного типа, но анонимного типа? - PullRequest
2 голосов
/ 01 апреля 2011

Я использую LINQ для запроса данных из базы данных, а затем связываю их с GridView. Когда я использую анонимный тип, все в порядке, но теперь я хочу повторно использовать данные (для последующего фильтра), поэтому я создал класс для сопоставления анонимного типа, вот он:

public class DetailComplaint
{
    public decimal Id;
    public decimal Status;
    public string Name;
    public decimal ServiceId;
    public string Service;
    public string Title;
    public string Customer;
    public string Description;
    public DateTime CreatedDate;
    public decimal CreatedBy;
    public string Author;
    public decimal? AssignedBy;
    public decimal? AssignedTo;
    public string Technician;
    public DateTime? AssignedDate;
    public string Contact;
}

и затем использовать его в запросе (... выберите новый DetailComplaint {// все поля такие же, как и раньше))

но теперь, когда я связываю данные, GridView выдает исключение, что не может найти поле или свойство с именем "Id", которое явно определено в DetailComplaint.

Как я могу это исправить? Спасибо

1 Ответ

2 голосов
/ 01 апреля 2011

Вы пытались превратить их в свойства вместо полей? Некоторые формы привязки будут работать только со свойствами и игнорировать поля. Неясно, какой GridView вы используете, но это, возможно, проблема.

Самый простой способ сделать это здесь - использовать автоматические свойства, например

public class DetailComplaint
{
    public decimal Id {get; set; }
    public decimal Status {get; set; }
    public string Name {get; set; }
    public decimal ServiceId {get; set; }
    public string Service {get; set; }
    public string Title {get; set; }
    public string Customer {get; set; }
    public string Description {get; set; }
    public DateTime CreatedDate {get; set; }
    public decimal CreatedBy {get; set; }
    public string Author {get; set; }
    public decimal? AssignedBy {get; set; }
    public decimal? AssignedTo {get; set; }
    public string Technician {get; set; }
    public DateTime? AssignedDate {get; set; }
    public string Contact {get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...