Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД? / 12 сообщений из 12, страница 1 из 1
30.08.2018, 12:38
    #39695469
Devillio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
Добрый день!

Можно ли установив в runtime значение Value для колонки попросить cxGrid отправить эти изменения в базу, как если бы я их ввел просто руками? А то значения устанавливаются, но в базу не пишутся.
Попробовал cxGrid.DataController.Post - видимо не оно.

ну во типа вот так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TdlgUsers.DoClicks(IDType: Integer; IsOn: Integer);
var i: Integer;
begin
  for i := 0 to GridPDsDBTV.DataController.RecordCount-1 do
  if (IDType = 0) or (IDType = StrToIntDef(VarToStr(GridPDsDBTV.DataController.Values[i,GridPDsDBTVColIDType.Index]),0)) then
    GridPDsDBTV.DataController.Values[i,GridPDsDBTVColISON.Index] := IsOn;
  GridPDsDBTV.DataController.Post(); //ничо не постит
end;



Спасибо!
...
Рейтинг: 0 / 0
30.08.2018, 12:43
    #39695475
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
почему не напрямую через DataSet?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.08.2018, 13:15
    #39695502
Devillio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
Мимопроходящий, благодарю )

да, можно и через датасет
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
procedure TdlgUsers.DoClicks(IDType: Integer; IsOn: Integer);
var i: Integer;
  MT: TBookmark;
begin
//  for i := 0 to GridPDsDBTV.DataController.RecordCount-1 do
//  if (IDType = 0) or (IDType = StrToIntDef(VarToStr(GridPDsDBTV.DataController.Values[i,GridPDsDBTVColIDType.Index]),0)) then
//    GridPDsDBTV.DataController.Values[i,GridPDsDBTVColISON.Index] := IsOn;
  try
    DM.TRNShort.StartTransaction;
    with FDQExp do
    try
      MT := GetBookmark;
      DisableControls;
      First;
      while not EOF do
      begin
        if IDTYPE in [0, FieldByName('IDTYPE').AsInteger] then
        begin
          Edit; FieldByName('ISON').AsInteger := ISON; Post;
        end;
        Next;
      end;
      DM.TRNShort.Commit;
      if BookmarkValid(MT) then GotoBookmark(MT);

    finally
      EnableControls;
    end;
  except
    on e:exception do
    begin
      DM.TRNShort.Rollback;
    end;
  end;
end;



но и текста поболее, и а вдруг где понадобится?
...
Рейтинг: 0 / 0
30.08.2018, 13:20
    #39695506
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
30.08.2018 13:15, Devillio пишет:
> но и текста поболее, и а вдруг где понадобится?

запомни сакральное: "в гриде данных нет". (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.08.2018, 14:07
    #39695556
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
Мимопроходящийзапомни сакральное: "в гриде данных нет". (С)
К сожалению, авторы DevExpress плохо учили этот правильный тезис.
...
Рейтинг: 0 / 0
30.08.2018, 14:09
    #39695559
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
30.08.2018 14:07, softwarer пишет:
> К сожалению, авторы DevExpress плохо учили этот правильный тезис.

а шо ж ещё можно было ожидать от DeviantArt'a
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.08.2018, 22:21
    #39695874
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
Мимопроходящийзапомни сакральное: "в гриде данных нет". (С)
Запомни сокральное, в гриде данных нет, а во вьюшках есть !!!
...
Рейтинг: 0 / 0
31.08.2018, 09:52
    #39695987
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
Мимопроходящийзапомни сакральное: "в гриде данных нет". (С)

Запомни сакральное, что cxGrid - это не совсем сетка в классическом понимании, у этой сетки есть свой НД - TDataController.
...
Рейтинг: 0 / 0
31.08.2018, 09:53
    #39695989
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
DevillioА то значения устанавливаются, но в базу не пишутся.

Может отсутствует Commit?
Может нет соответствующего SQL-запроса для Update?
...
Рейтинг: 0 / 0
31.08.2018, 11:22
    #39696063
Devillio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
X11, не, конечно ModifySQL прописан и т.п. Если тыкаю мышкой (в чек бокс который в колонке) - сохраняется же.
CommitRetaining добавлял в OnAfterPost датасета.
Как будто нет Post от вьюшки )
Уже норм сделал через датасет, прост на будущее хотелось бы. "Мушку спилил, всякое может быть" ))
...
Рейтинг: 0 / 0
31.08.2018, 11:47
    #39696095
vavan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
DimaBrЗапомни сокральное, в гриде данных нет, а во вьюшках естьесли уж быть точным то в датаконтроллерах нопремер
...
Рейтинг: 0 / 0
31.08.2018, 16:24
    #39696332
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД?
Честно говоря, правильней было бы составлять запрос и выполнять цикл в рамках одной транзакции. + это быстрей будет. Может даже не полениться и хранимку написать.
Т.е. чтобы бОльшая часть логики работала на стороне SQL.
Приучить себя надо.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Можно ли запостить изменения cxGrid.DataController.Values[x,y] = ... в БД? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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