Проблема в привязке DataGridView с LINQ? - PullRequest
0 голосов
/ 07 апреля 2011

Когда я связываю свой запрос linq с источником данных в сетке данных, я не могу изменить ни одно из значений ячеек в сетке. Свойство столбцов readonly автоматически устанавливается в значение true, и когда я пытался установить его в значение false, оно выдает следующее исключение: -

Столбец DataGridView, связанный с полем только для чтения, должен иметь для ReadOnly значение True. LINQ

Это мой код

 DataClasses1DataContext db = new DataClasses1DataContext();
 var selectquery = from s in db.Sarees where s.Bill.BillNo == billno select new { s.BillID,s.Price };

Я нашел 1 решение этой проблемы, которое не является грязным, если в таблице много столбцов, и я хочу выбрать только два ... 1 решение: -

 var selectquery = db.Sarees.Where(s => s.Bill.BillNo == billno);

Когда я дал этот запрос, он работает нормально .. Но я хочу решение, в котором я могу выбрать только некоторые столбцы по LINQ и изменить его значение при связывании через просмотр данных ...

1 Ответ

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

Проблема в том, что этот запрос не возвращает коллекцию Sarees, поэтому его нельзя редактировать так, как вы хотите.Он возвращает коллекцию новых объектов со свойством BillID и Price.

DataClasses1DataContext db = new DataClasses1DataContext();
var selectquery = from s in db.Sarees
                  where s.Bill.BillNo == billno 
                  select new { s.BillID, s.Price };

Можете ли вы использовать версию 2-го запроса и привязать только те столбцы, которые хотите отредактировать кDataGridView?


Вам также может понадобиться исследовать, используя DataGridView.CellFormatting Event .

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