Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];
Внизпроблема со 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c