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

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

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

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

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

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

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


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