Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGrid блокировка добавления новой записи / 6 сообщений из 6, страница 1 из 1
10.08.2004, 10:37
    #32642155
kokgs__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid блокировка добавления новой записи
Доброго времени суток
в событии загрузки формы рисую
Код: plaintext
1.
2.
cm = CType(Me.BindingContext(DG.DataSource, DG.DataMember), CurrencyManager)
CType(cm.List, DataView).AllowNew = False
в главной таблице нет строки для добавления
в подчинённых есть
как убрать в подчинённых?
...
Рейтинг: 0 / 0
10.08.2004, 10:49
    #32642188
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid блокировка добавления новой записи
самый простой способ - запрети что тебе не нужно в DataView (AllowNew=false). Умолчательный DataView для таблицы можешь достать через tbl.DefaultView (он и используется по умолчанию для показа в гриде)
...
Рейтинг: 0 / 0
10.08.2004, 10:58
    #32642205
kokgs__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid блокировка добавления новой записи
В 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
10.08.2004, 11:15
    #32642244
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid блокировка добавления новой записи
у тебя получается грид с навигацией ? т.е. ты в нем показываешь несколько таблиц (parent-child) ?
...
Рейтинг: 0 / 0
10.08.2004, 11:19
    #32642257
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid блокировка добавления новой записи
для дочерних таблиц 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
10.08.2004, 11:28
    #32642279
kokgs__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGrid блокировка добавления новой записи
спасибо
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGrid блокировка добавления новой записи / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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