Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> StringGrid, Получить выделенную строку 
V
    Опции темы
ZBugz
Дата 25.5.2007, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Привет всем  smile 
Как получить выделенную строку, точнее данные из колонок в StrinGrid.
Т.е. к примру, я выбираю строчку, потом жму кнопку, и мне нужно получить все данные этой строки из, к примеру 5 столбцов.
 smile 
PM MAIL   Вверх
_hunter
Дата 25.5.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: нет
Всего: 98



проходиш по всем Cels. текущий ряд -- Row.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
ZBugz
Дата 25.5.2007, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Если бы я так мог, то не просил бы пример  smile 
PM MAIL   Вверх
Rodman
Дата 25.5.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



Код

procedure TForm1.FormCreate(Sender: TObject);
var i:Integer ;
begin
for i:=0 to StringGrid1.RowCount-1 do
  ShowMessage(StringGrid1.Cells[1,i]);
end;


PM MAIL WWW Skype GTalk YIM MSN   Вверх
MetalFan
Дата 25.5.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



а еще можно примерно так:
Код

  lStr := StringGrid.Rows[StringGrid.Row].Text;



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
ZBugz
Дата 25.5.2007, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Цитата(Rodman @ 25.5.2007,  18:18)
Код

procedure TForm1.FormCreate(Sender: TObject);
var i:Integer ;
begin
for i:=0 to StringGrid1.RowCount-1 do
  ShowMessage(StringGrid1.Cells[1,i]);
end;


Да мне не надо сразу все знать, мне нужно выделить и нажать кнопку, а вот кномпка должна знать, что я выделил.

Добавлено через 4 минуты и 33 секунды
Цитата(MetalFan @ 25.5.2007,  18:35)
а еще можно примерно так:
Код

  lStr := StringGrid.Rows[StringGrid.Row].Text;

Чето я не понял, а как его прикрутить ?  smile 
PM MAIL   Вверх
ivan219
Дата 25.5.2007, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Что тебе здесь не понятно:
Код

 lStr := StringGrid.Rows[StringGrid.Row].Text;

Выводит всю строку ну правда не чистую.

А если ненравится то делай так:
Код

var
  Form1: TForm1;
  FARow: Integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  S: String;
begin
 for i:=0 to StringGrid1.RowCount-1 do
  S:=StringGrid1.Cells[I,FArow]+' '+S;
 Button1.Caption:=S;
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 FARow:=ARow;
end;

PM MAIL ICQ   Вверх
MetalFan
Дата 25.5.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



ivan219, зачем все так сложно?
Цитата
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 FARow:=ARow;
end;

а зачем запоминать рисуемую строку???

TStringGrid.Row, TStringGrid.Col - координаты выделенной ячейки.
текст текущей строки:
Код

 lStr:=  StringReplace( AStringGrid.Rows[AStringGrid.Row].Text, sLineBreak, ' ', [rfReplaceAll]);




Это сообщение отредактировал(а) MetalFan - 25.5.2007, 21:04


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
ivan219
  Дата 26.5.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Незнал незнал smile 
PM MAIL ICQ   Вверх
ZBugz
Дата 26.5.2007, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Цитата(ivan219 @ 25.5.2007,  19:15)
Что тебе здесь не понятно:
Код

 lStr := StringGrid.Rows[StringGrid.Row].Text;

Выводит всю строку ну правда не чистую.

А если ненравится то делай так:
Код

var
  Form1: TForm1;
  FARow: Integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  S: String;
begin
 for i:=0 to StringGrid1.RowCount-1 do
  S:=StringGrid1.Cells[I,FArow]+' '+S;
 Button1.Caption:=S;
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 FARow:=ARow;
end;

Все, спасибо, так работает, только почему как у Евреев, выводиться Caption с конца в начало  smile

Добавлено через 1 минуту и 30 секунд
Цитата(MetalFan @ 25.5.2007,  21:02)
ivan219, зачем все так сложно?
Цитата
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 FARow:=ARow;
end;

а зачем запоминать рисуемую строку???

TStringGrid.Row, TStringGrid.Col - координаты выделенной ячейки.
текст текущей строки:
Код

 lStr:=  StringReplace( AStringGrid.Rows[AStringGrid.Row].Text, sLineBreak, ' ', [rfReplaceAll]);

Вот это по нашему  smile 


Всем спасибо за помощь, а то я уже голову сломал про это  smile 

Еще может этот топик посмотрите ? http://forum.vingrad.ru/forum/topic-145371...strinngrid.html
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.