В следующем примере приведены две функции: GetGridColumnByName() и GetGridRowByName(), которые возвращают колонку или строку, имеющую заданный заголовок (caption).

Code:

procedure TForm1.FormCreate(Sender: TObject);

begin

StringGrid1.Rows[1].Strings[0] := 'This Row';

StringGrid1.Cols[1].Strings[0] := 'This Column';

end;

 

function GetGridColumnByName(Grid: TStringGrid; ColName: string): integer;

var

i: integer;

begin

for i := 0 to Grid.ColCount - 1 do

   if Grid.Rows[0].Strings[i] = ColName then

     begin

       Result := i;

       exit;

     end;

Result := -1;

end;

 

function GetGridRowByName(Grid: TStringGrid; RowName: string): integer;

var

i: integer;

begin

for i := 0 to Grid.RowCount - 1 do

   if Grid.Cols[0].Strings[i] = RowName then

     begin

       Result := i;

       exit;

     end;

Result := -1;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

Column: integer;

Row: integer;

begin

Column := GetGridColumnByName(StringGrid1, 'This Column');

if Column = -1 then

   ShowMessage('Column not found')

else

   ShowMessage('Column found at ' + IntToStr(Column));

Row := GetGridRowByName(StringGrid1, 'This Row');

if Row = -1 then

   ShowMessage('Row not found')

else

   ShowMessage('Row found at ' + IntToStr(Row));

end;

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить