powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGrid блокировка добавления новой записи
6 сообщений из 6, страница 1 из 1
DataGrid блокировка добавления новой записи
    #32642155
kokgs__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток
в событии загрузки формы рисую
Код: plaintext
1.
2.
cm = CType(Me.BindingContext(DG.DataSource, DG.DataMember), CurrencyManager)
CType(cm.List, DataView).AllowNew = False
в главной таблице нет строки для добавления
в подчинённых есть
как убрать в подчинённых?
...
Рейтинг: 0 / 0
DataGrid блокировка добавления новой записи
    #32642188
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самый простой способ - запрети что тебе не нужно в DataView (AllowNew=false). Умолчательный DataView для таблицы можешь достать через tbl.DefaultView (он и используется по умолчанию для показа в гриде)
...
Рейтинг: 0 / 0
DataGrid блокировка добавления новой записи
    #32642205
kokgs__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В DataSource - DataSet
Для всех таблиц в DataSet?
До или после загрузки туда данных (dg.SetDataBinding(...))?

код:
Код: plaintext
1.
2.
3.
4.
5.
For Each tdT In CType(DG.DataSource, DataSet).Tables
            tdT.DefaultView.AllowNew = False
            cm = CType(Me.BindingContext(DG.DataSource, tdT.TableName), CurrencyManager)
            CType(cm.List, DataView).AllowNew = False
        Next
не помогает
...
Рейтинг: 0 / 0
DataGrid блокировка добавления новой записи
    #32642244
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у тебя получается грид с навигацией ? т.е. ты в нем показываешь несколько таблиц (parent-child) ?
...
Рейтинг: 0 / 0
DataGrid блокировка добавления новой записи
    #32642257
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для дочерних таблиц DataView создаются динамически при каждом новом показе

выход такой - обрабатывать событие Navigate в grid'e
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private void dataGrid1_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
{  // запрашиваешь CurrencyManager для текущего bindig'a в grid'e 
  CurrencyManager cm=(CurrencyManager)(this.dataGrid1.BindingContext[this.dataGrid1.DataSource, this.dataGrid1.DataMember]);
   // у CurrencyManager узнаем тот DataView, который он отрабатывает в текущий момент (куда идет навигация) 
  DataView dv=(DataView)(cm.List);

  switch(dv.Table.TableName)
  { case "CLIENT": 
      dv.AllowNew=false;
      ...
      break;
    case "CLIENT_PRICE":
      dv.AllowNew=false;
      ...
      break;
  }
}
...
Рейтинг: 0 / 0
DataGrid блокировка добавления новой записи
    #32642279
kokgs__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGrid блокировка добавления новой записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]