घर
Top.Mail.Ru Yandeks.Metrika
फोरम: "मामले";
वर्तमान संग्रह: 2003.05.01;
डाउनलोड करें: [xml.tar.bz2];

नीचे

DBGrid में वर्तमान पंक्ति को कैसे उजागर किया जाए? इसी तरह की शाखाएँ खोजें


ksa   (2003-04-11 13:40) [0]

Имеется DbGrig, хочется выделить текущую строку цветом, если установить свойство dgRowSelect, то если прокрутить сетку вправо и щелкнуть на ячейке, сетка автоматом прокручивается к первому столбцу.



Abrams   (2003-04-11 13:45) [1]

Обрабатываешь событие DBGridDrawColumnCell
и пишешь там что-нить в этом роде:

if gdSelected in state then
with DBGrid.Canvas do
शुरू करना
Font.Color := clYellow;
Brush.Color := clBlack;
अंत;
DBGrid.DefaultDrawDataCell(Rect, Column.Field, State);



ksa   (2003-04-12 08:45) [2]

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



ЮЮ   (2003-04-12 09:34) [3]

विकल्प 1। AfterScroll-e DataSet में, मुख्य फ़ील्ड का मान याद रखें, और DrawDataCell-e DBGrid-a में हम रिकॉर्ड किए गए फ़ील्ड के मुख्य फ़ील्ड के मान के साथ इस मान को सहेजते हैं



Шаман   (2003-04-12 10:42) [4]

А еще проще поставить InfoPower 3000, благо кряков под него тьма, и глазу приятно и по пустякам напрягатся нестоит.



Цук   (2003-04-12 10:44) [5]

Вариант ЮЮ не самый лучший т.к. прои нажатии Page Down или Page Up или при прокрутке колесиком мышки курсор переходит а полоса остается.



Alexandr   (2003-04-12 11:13) [6]

пользуйся на здоровье

type
THackDBGrid = class(TDBGridEh)
property DataLink;
property UpdateLock;
end;



procedure TForm1.MyGetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
var
Selected: Boolean;
begin
if INI1.currentLine then
begin
Selected := THackDBGrid(Sender).Datalink.Active and (THackDBGrid(sender).Row
- 1 = THackDBGrid(sender).Datalink.ActiveRecord);
if Selected then
begin
BackGround := INI1.FonCurrentLine;
end;
end;
end;




grusty   (2003-04-13 13:29) [7]

Abrams абсолютно прав. Единственное что - необходимо у DBGrid свойство Options/dgRowSelect установить в True. Тогда будет выделяться вся строка.
Другой вариант - это скачать библиотеку EhLib, где присутствует отличный компонент DBGridEh и у него обработать событие OnDrowColumnCell следующим образом:

if Rect.Top=DBGridEh2.CellRect(DBGridEh2.Col,DBGridEh2.Row).Top then DBGridEh2.Canvas.Brush.Color:=clAqua;
DBGridEh2.DefaultDrawColumnCell (Rect, DataCol, Column, State);



पन्ने: 1 पूरी शाखा

फोरम: "मामले";
वर्तमान संग्रह: 2003.05.01;
डाउनलोड करें: [xml.tar.bz2];

ऊपर









मेमोरी: 0.57 एमबी
समय: 0.028 c
14-769
दिमित्री के.के.
2003-04-15 06:51
2003.05.01
जन्मदिन 15 अप्रैल


14-707
थपथपाना
2003-04-12 10:08
2003.05.01
सॉफ्टआईस के बारे में प्रश्न


7-802
oduvanchik_pro
2003-03-12 15:38
2003.05.01
ड्राइवरों के साथ काम करें


14-684
Sergik
2003-04-16 10:42
2003.05.01
किताब


14-714
फ्यूल ऑयल कोस्ट रुरिकोविच
2003-04-13 04:07
2003.05.01
अरे, सेंट पीटर्सबर्ग के लोग! मैं सेंट पीटर्सबर्ग 4 वर्ष में रहता था।





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский