Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.17;
Скачать: CL | DM;

Вниз

проблема со Stringgrid   Найти похожие ветки 

 
Максон ©   (2011-04-06 12:41) [0]

День добрый.
У меня такая ситуация: на форме 3 edit, 1 stringgrid, кнопки
при нажатии на кнопку добавить данные из edit-ов  отображаются в stringgrid

procedure TForm2.addbtnClick(Sender: TObject);

begin
      if strngrd1.Enabled = False then
   strngrd1.Enabled := True;
 strngrd1.RowCount := strngrd1.RowCount + 1;
 strngrd1.FixedRows := 1;
 strngrd1.Cells[0, strngrd1.RowCount - 1] := edt1.Text;
 strngrd1.Cells[1, strngrd1.RowCount - 1] := edt2.Text;
 strngrd1.Cells[2, strngrd1.RowCount - 1] :=edt3.Text;
end;


А как сделать чтобы  данные из  stringgrid отобразились  в edit1, edit2, edit3 и после редактирования снова  отобразились в Stringgrid


 
Медвежонок ХМЛ ©   (2011-04-06 12:44) [1]

переставить в коде местами куски строки по обе стороны от :=


 
clickmaker ©   (2011-04-06 12:44) [2]

> как сделать чтобы  данные из  stringgrid отобразились  в
> edit1, edit2, edit3

в 3 последних строчках поменять операнды местами


 
Максон ©   (2011-04-06 12:51) [3]


> Медвежонок ХМЛ ©   (06.04.11 12:44) [1]
> переставить в коде местами куски строки по обе стороны от
> :=


Не получается так, выделяется только последняя строка


 
И. Павел ©   (2011-04-06 12:51) [4]

> [0] Максон ©   (06.04.11 12:41)

Добавьте вторую кнопку, а в ней пишите наоборот:
edt1.Text := strngrd1.Cells[0, strngrd1.RowCount - 1];
edt2.Text := strngrd1.Cells[1, strngrd1.RowCount - 1];
edt3.Text := strngrd1.Cells[2, strngrd1.RowCount - 1];


 
Медвежонок ХМЛ ©   (2011-04-06 12:52) [5]

Не получается так, выделяется только последняя строка

Тем кодом вообще ничего не выделяется. Просто присваиваются значения.


 
И. Павел ©   (2011-04-06 12:53) [6]

> Не получается так, выделяется только последняя строка

Координаты первой выделенной в StringGrid ячейки:
 (StringGrid1.Selection.Left; StringGrid1.Selection.Top)


 
Максон ©   (2011-04-06 12:59) [7]


> И. Павел ©   (06.04.11 12:51) [4]
> > [0] Максон ©   (06.04.11 12:41)Добавьте вторую кнопку,
>  а в ней пишите наоборот:edt1.Text := strngrd1.Cells[0,
> strngrd1.RowCount - 1];edt2.Text := strngrd1.Cells[1, strngrd1.
> RowCount - 1];edt3.Text := strngrd1.Cells[2, strngrd1.RowCount
> - 1];


Ребята, все как написали сделал, но в edit-ах  по - прежнему отображается только последняя  строка из Stringgrid


 
Медвежонок Пятачок ©   (2011-04-06 13:00) [8]

у тебя мало эдитов.
потому только последняя и отображается.
для всех строк нужно больше эдитов.


 
brother ©   (2011-04-06 13:00) [9]

> по - прежнему отображается только последняя  строка из Stringgrid

а ты понял почему?:

> strngrd1.RowCount - 1

вот почему...


 
И. Павел ©   (2011-04-06 13:05) [10]

> [7] Максон ©   (06.04.11 12:59)

Замените

strngrd1.RowCount - 1

на

StringGrid1.Selection.Top


 
Максон ©   (2011-04-06 13:15) [11]

Все разобрался!
Спасибо огромное!


 
brother ©   (2011-04-06 13:17) [12]

> Все разобрался!

Не верю!


 
И. Павел ©   (2011-04-06 13:20) [13]

> Не верю!

Так он и не уточнил с чем разобрался: с задачей или с преподом :)


 
Максон ©   (2011-04-06 13:44) [14]

С задачей разобрался


> StringGrid1.Selection.Top

выбирает текущую строку, а у меня было

> strngrd1.RowCount - 1

Вот поэтому  в edit-ах появлялась последняя строка


 
Германн ©   (2011-04-06 14:53) [15]


> > StringGrid1.Selection.Top
>
> выбирает текущую строку

Вообще-то номер текущей строки хранится в свойстве Row. И как его заменить на Selection.Top?


 
Медвежонок Пятачок ©   (2011-04-06 14:59) [16]

он наивно посчитал что мультиселекта не бывает, а если и бывает, то его делают снизу вверх.
и выделенная строка совпадает с верхней строкой селекта



Страницы: 1 вся ветка

Текущий архив: 2011.07.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
2-1301992024
NieL
2011-04-05 12:27
2011.07.17
xpath


15-1301622421
Palladin
2011-04-01 05:47
2011.07.17
1 апреля


2-1302452393
mefodiy
2011-04-10 20:19
2011.07.17
Проблема с закрытием формы


2-1301928036
novichek
2011-04-04 18:40
2011.07.17
ADO поле Int64


15-1301380921
RGV
2011-03-29 10:42
2011.07.17
Скайп