Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2009, 18:46   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Нумерация строк в StringGrid

Добрый вечер! Как сделать в StringGrid-e автоматическую нумерацию строк, которая бы зависила от количества заносимых строк в stringGrid?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.11.2009, 19:06   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Если я не ошибаюсь, то нужно что-то вот такое?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 i, j: integer;
 b: boolean;
begin
 for i := 0 to StringGrid1.RowCount - 1 do
 begin
  b := false;
  //Проверка, есть ли значения в строке
  for j := 0 to StringGrid1.ColCount - 1 do
   if StringGrid1.Cells[j, i] <> '' then
   begin
    b := true;
    break;
   end;

  if b then StringGrid1.Cells[0, i] := IntToStr(i);
 end;
end;
Или просто нумерация, даже с пустыми строками?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 21.11.2009, 19:13   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Нет, пустые строки не нужны. Уточню. Нужно, чтобы в, например, первой колонке, шла нумерация строк, которые были внесены stringgrid.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.11.2009, 19:17   #4
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Нужно чтобы нумерация была построчная, т.е. если не заполнена первая строка, то номер не ставится, и если вторая заполнена, то номер будет 2.
Или нумерация, считающая только заполненные строки, т.е. если заполнена вторая строчка, а первая нет, то номер будет 1, и если пятая заполнена, а третья и четвертая нет, то будет номер 2. ?

По первому случаю мой код верен.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 21.11.2009, 19:19   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Как сделать в StringGrid-e автоматическую нумерацию строк, которая бы зависила от количества заносимых строк в stringGrid?
два способа:
1) переопределить в процедуре самого компонента tcustomgrid, там где идет назначение frowcount (см. модуль grid) и назначать текст в ячейках по изменению frowcount, тогда будет добавляться прямо при проектировании компонента
2) использовать ondrawcell в режиме выполнения:
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 with (sender as tstringgrid) do
  cells[0,ARow]:= inttostr(ARow)
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 stringgrid1.DoubleBuffered:= true
end;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 21.11.2009 в 19:22.
raxp вне форума Ответить с цитированием
Старый 21.11.2009, 19:22   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Neeter
, да Вы правы. Ваш код верен. Спасибо
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нумерация строк StartMis Общие вопросы Delphi 20 17.01.2011 15:00
Нумерация строк ShnapS БД в Delphi 5 06.05.2009 20:59
Нумерация строк. QT 4 NikLik Qt и кроссплатформенное программирование С/С++ 2 18.12.2008 22:38
Нумерация строк в RaveReport D7_beginner БД в Delphi 0 21.12.2007 12:23
Нумерация строк в Memo Макс84 Компоненты Delphi 10 02.04.2007 17:10