Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нумерация ячеек в DBGRID [D5, Paradox]


Страницы:   1 2

der ©   (2002-03-12 05:09:00) 

Драсьте!
Как можно организовать нумерацию ячеек в dbgrid? Нужен № п/п.


MAxiMum   (2002-03-15 18:08:00) [1]

>Nest Ты, конечно, молодец. Ну не красиво это.

Я юзверю ведь красота нужна. Информативность вот.
Нумерация нужна, чтобы можно было определить на какой записи по номеру он находится (т.е. сколько сверху, снизу и т.д. - по крайней мере, так объяснили мне; я согласен).

Эге-ге-ге-гей! Меня-то кто-нибудь слышит!? :-(


Nest   (2002-03-15 17:01:00) [2]

А что насчёт Nest © (12.03.02 09:12)
Непонятно изъяснил или не устраивает вриант?
Если первое-спрашивайте что непонятно.
Вроде более менее просто/быстро...
У меня работает и вполне доволен. Тоже долго парился,искал а потом Сам придумал :)

С примером нехорошо получилось - пофиксил оказывается когда линух ставил... :(


data   (2002-03-15 16:53:00) [3]

2 Lusha © (15.03.02 15:52)
Да ни за чем не нужна, т.к. не несет никакой полезной информации :-). В моем случае заказчики захотели так "Для красоты".


Lusha   (2002-03-15 15:52:00) [4]

Извините, что встреваю в Вашу дискуссию. А не могли бы Вы мне "темному" ответить зачем вообще нужна эта нумерация, т.е. какую полезную информацию она несет пользователю?


MAxiMum   (2002-03-15 15:15:00) [5]

Я думаю решение, в создании новой компоненты, унаследованной от TDBGrid. При этом, нельзя полагаться на свойства TDataset. Думаю, надо на свойства TCustomGrid или перекрывать их же.
Повторяю посмотрите ветку: http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1016107005&n=1.
p.s. Или никто ООП и VCL не знает!? :))


sniknik   (2002-03-15 12:50:00) [6]

С вычисляемым полем тоже фигня получится (как и у меня). Вообше я понял тут RecNo нельзя использовать он дает физический номер поля. Используемый индекс их перемешает а фильтр часть отсечет. А человеку похоже надо чтобы нумерация была правильной независимо от индексов или фильтров.


asafr   (2002-03-15 12:26:00) [7]

Cоздаешь вычисляемое поле, два раза кликнув по Query1, обзываешь его, например, "Num", присваиваешь тип Intrger. А потом
procedure Tfm_Form1.Query1CalcFields(DataSet: TDataSet);
begin
Query1Num.Value:=Query1.RecNo;
end;

Всё...


asafr   (2002-03-15 12:25:00) [8]

Cоздаешь вычисляемое поле, два раза кликнув по Query1, обзываешь его, например, "Num", присваиваешь тип Intrger. А потом
procedure Tfm_Form1.Query1CalcFields(DataSet: TDataSet);
begin
Query1Num.Value:=Query.RecNo;
end;

Всё...


sniknik   (2002-03-15 11:20:00) [9]

не у меня sniknik@rambler.ru то что из дома посылал уже должно дойти. Кстати пример простой с индексами и фильтрами не проверял счас буду пробовать пока жду машину на выезд.


MAxiMum   (2002-03-15 11:03:00) [10]

>sniknik ©
Если ты mihut@chat.ru, то я не смог открыть вложенный HTML, иначе, не получил.


deleon   (2002-03-15 08:53:00) [11]

А теперь наложите на таблицу фильтр и посмотрите как попорядку ваш RecNo выдает значения :)


Hooch   (2002-03-15 08:02:00) [12]

Здравствуйте Все !

Дабы Query.RecNo выдавал не -1 а реальный номер строки нужно
после открытия сказать Query.FetchAll и будет сказка !


sniknik   (2002-03-14 23:09:00) [13]

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


MAxiMum   (2002-03-14 19:46:00) [14]

>sniknik ©
Не понял про, что вы говорите. Если про почту, то там чисто.


sniknik   (2002-03-14 19:36:00) [15]

MAxiMum © послал пример ответьте при получении.


MAxiMum   (2002-03-14 18:39:00) [16]

>sniknik ©
А ведь, может оказаться, что Table1.RecNo не изменился.
Я не знал и создал параллеотно вам свою ветку. Посмотри её плиз.
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1016107005&n=1


sniknik   (2002-03-12 13:19:00) [17]

Да нет у меня и с Парадоксом работает только одно изменение сделал
if UpperCase(Field.FieldName) = "LINKED" then begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.Canvas.TextOut(Rect.Left, Rect.Top, IntToStr(Table1.RecNo));
end;
т.к. у него Field.FieldName почемуто маленькини буквами. Правда у меня Delphi шестой. Но это не должно влиять.


data   (2002-03-12 13:03:00) [18]

2 onix © (12.03.02 11:37)
Не за что, всегда рада помочь :)

2 sniknik © (12.03.02 11:30)
RecNo не во всех СУБД работает. Для Парадокса по-моему (но могу и ошибаться) как раз все время выдает -1.


sniknik   (2002-03-12 13:01:00) [19]

To Shirson ©
Ничего такого, что есть в BDE, но нет в ADO

Упаковка таблиц, переиндексация (снятие индексов при потере иидексных файлов), почти все функции DBI, доступ к записи (не эмуляция через курсор, это тормозит, а прямой). Это конечно если работать с DB и DBF. Если с MSSQL то я сам бы выбрал ADO.


DiggerAbstract   (2002-03-12 12:18:00) [20]


SELECT
ROW_NUMBER() OVER() AS NUM,
T.*
FROM
TABLE AS T


Может так проще будет


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо