PDA

View Full Version : سوال: عدم انتخاب رکورد در dbgrid



hamid_14
چهارشنبه 07 اسفند 1392, 12:34 عصر
سلام
دوستان من در جدولم رکوردی دارم مثلا با id شماره 10 و این رکورد چون id=10 رنگ رکوردش فرق میکنه,حالا می خوام اگه کاربر روی این رکورد کلیک کرد این رکورد انتخاب نشه.چطوری باید این کارو بکنم.

میدونم میشه با بعضی از گرید ها مثل ehlib گروه ایجاد کرد ولی بکارم نمی یاد.مرسی

یوسف زالی
چهارشنبه 07 اسفند 1392, 12:52 عصر
سلام.
از انتخاب درش بیارید. می تونید این کار رو با CurrentRowSelected یا با BookMark انجام بدید.
هنگامی که دارید روش کار می کنید یا در لوپ مربوطه هم می تونید ازش بپرید.

hamid_14
چهارشنبه 07 اسفند 1392, 17:29 عصر
من به این صورت استفاده کردم اما نشد میشه بیشتر راهنمائی کنید.ممنون


procedure TForm2.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Table1.FieldValues['ID'] = '10' then
begin
DBGrid1.Canvas.Brush.Color := clActiveBorder;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGrid1.SelectedRows.CurrentRowSelected := false;
end;
end;

یوسف زالی
چهارشنبه 07 اسفند 1392, 21:23 عصر
کد مربوطه باید در رویداد های مربوط به انتخاب باشه نه در رویداد Draw.
دقیق بگید برای چه کاری باید از انتخاب شدن یک رکورد جلوگیری کنید؟

hamid_14
چهارشنبه 07 اسفند 1392, 23:09 عصر
راستش می خوام سرفصل ها رو در جدولم نشون بدم.و کاربر روی رکورد هایی با کد 10 که سرفصل هستن نیاید عملیاتی انجام بده.
در اصل می خوام با حرکت بین رکورد ها از رکوردهایی که با کد 10 هستن رد بشه و به رکورد بعدی بره

یوسف زالی
پنج شنبه 08 اسفند 1392, 02:55 صبح
روش درستش این نیست.
شما می تونید اجازه بدید که کاربر روی چنین ردیف هایی بره اما نتونه روی اونها عملیاتی انجام بده. مثلا دکمه هاتون خاموش بشه.
اگر دارید سرفصل هاتون رو سند پذیر یا سند ناپذیر می کنید، بهتره که کاربر هنگام انتخاب اونها با پیغامی مواجه بشه و نتونه کار مورد نظرش رو انجام بده. بعد هم مثلا منتقل بشه به ردیفی که می تونه.
راه زورکیش هم این می شه که کاربر رو در رویداد OnAfterScroll شی دیتاست متصل به گریدتون منتقل کنید به Next