powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Непонятное поведение TAdvStringGrid
5 сообщений из 5, страница 1 из 1
Непонятное поведение TAdvStringGrid
    #39811184
Здравствуйте, подскажите пожалуйста, в чем может быть проблема. Есть форма на которой расположен StringGrid. Если случайно выбрать одну из ячеек, а потом нажать на кнопку добавить, добавляется строка, но в столбец 3 вставляется значение ячейки, которая было случайно выделена.

Код: 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.
procedure TForm_ServiceWizard.act_AddFrmExecute(Sender: TObject);
var
  i: integer;
begin
  if (asgFormuls.Focused) or (PageControl1.ActivePage = AdvTabSheet_2_Formuls) then
  begin
    if asgFormuls.Cells[2, asgFormuls.rowcount - 1] <> '' then
    begin
      asgFormuls.AddRow;
      asgFormuls.Cells[2, asgFormuls.rowcount - 1] := '01.' + AddChar('0',
        gOperDateMonth, 2) + '.' + gOperDateYear;
      asgFormuls.Cells[3, asgFormuls.rowcount - 1] := '';
      asgFormuls.SelectRows(asgFormuls.RowCount - 1, 1);
      asgFormuls.Col := 2;
      asgFormulsEditingDone(asgFormuls);
      for i := 1 to asgFormuls.RowCount - 1 do
      begin
        //if (asgFormuls.Cells[3,i]=gMaxDate) then
        if TFormulServ(asgFormuls.objects[0, i]).dat_po = gMaxDate then
        begin
          asgFormuls.Cells[3, i] := DateToStr(strToDate(asgFormuls.Cells[2,
            asgFormuls.rowcount - 1]) - 1);
          asgFormuls.SelectRows(i, 1);
          asgFormuls.Col := 3;
          //TFormulServ(asgFormuls.Objects[0,i]).dat_po:=asgFormuls.Cells[3,i];
          asgFormulsEditingDone(asgFormuls);   
        end;
      end;
      asgFormuls.SelectRows(asgFormuls.RowCount - 1, 1);
    end;

  end;
end;



Вот код, на кнопку Добавить. Вроде как программно задается
Код: pascal
1.
asgFormuls.Cells[3, asgFormuls.rowcount - 1] := '';

, однако после строки
Код: pascal
1.
asgFormuls.Col := 2;

значение ячейки почему-то меняется
...
Рейтинг: 0 / 0
Непонятное поведение TAdvStringGrid
    #39811185
...
Рейтинг: 0 / 0
Непонятное поведение TAdvStringGrid
    #39811186
...
Рейтинг: 0 / 0
Непонятное поведение TAdvStringGrid
    #39811229
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кареглазая_зая,

можно попробовать снять выделение или завершить редактирование перед добавлением строки
...
Рейтинг: 0 / 0
Непонятное поведение TAdvStringGrid
    #39811326
Aleksandr Sharahov, а как снять выделение?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Непонятное поведение TAdvStringGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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