none
WPF: добавление записи в DataGrid, где DataColumn.ReadOnly = true RRS feed

  • Общие обсуждения

  • DataGrid заполняется из DataTable. Как добавить новую строку в DataGrid, если нужно добавить данные в ячейку, колонка которой в DataTable помечена как ReadOnly?
    4 июля 2012 г. 13:13
    Отвечающий

Все ответы

  • Попробуйте создать новую строку и добавить в DataTable.
     
    4 июля 2012 г. 13:28
    Модератор
  • Но ведь нужно чтобы пользователь добавлял строку... В крайнем случае можно будет добавить форму добавления, но хотелось бы общее решение.
    4 июля 2012 г. 14:36
    Отвечающий
  • В данном случае если у вас 1 колонка readonly добавить запись можно но данных в этой колонке не будет если только вы сами через код не присвоите ей значение
    4 июля 2012 г. 18:25
  • Антон, не забудьте отметить ответ с решением проблемы или написать свой вариант, если уже решили. Спасибо.


    Для связи [mail]

  • Именно по этой причине и возник вопрос.

    Ситуация простая: у строки составной ключ. При добавлении новой записи его нужно прописать. При редактировании - нужно запрещать эти данные редактировать. Вариант пришел в голову только один - добавление новой записи вынести в отдельную форму. Но может можно как-то обойти это ограничение именно для новосозданных строк в DataGrid?

    Отвечающий
  • А вам необходимо показывать этц колонку? если нет то зачем ее показывать, вы можете подписаться на событие RowEditEditing

    и при его наступлении генерировать ключь который вам нужен

    5 июля 2012 г. 10:40
  • Если бы этот ключ не зависел от пользовательского ввода, проблем бы не было. Ключ составной и задается при создании элемента пользователем.
    5 июля 2012 г. 13:38
    Отвечающий
  • К сожалению я укакзал неправильное событи, используйте RowEditEnded http://msdn.microsoft.com/ru-ru/library/system.windows.controls.datagrid.roweditended%28v=vs.95%29
  • Проблема не в том, что я не могу закоммитить, а в том, что не могу ввести данные. Попробую посмотреть PreparingCellForEdit и отпишусь позже...
    6 июля 2012 г. 10:05
    Отвечающий
  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме


    Для связи [mail]

    12 июля 2012 г. 11:01