من ميخواهم به جاي يكي از سلولهاي DBGrid يك ComboBox باز شود يعني وقتي كاربر وارد آن سلول ميشود مقدار ComboBox.text برابر مقدار فيلد شود . البته با ComboBox.Create
البته توضيح دهم كه من ميخواهم حتما ComboBox را در داخل رويداد ColEnter ايجاد كنمكلي تر بخواهم بگم ميخواهيم يك شئي ويژوال را داخل يكي از سلولهاي گريد بندازيم.(فقط با .Create)اين كد را نوشتم اما خطا ميگيرد و كار نمي كند
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Var
Tcombo:TComboBox;
begin
if (gdFocused in State) then
begin
if (Column.Field.FieldName = 'serial') then
Try
Tcombo.Parent := DBGrid1;
Tcombo := TComboBox.Create(Self);
Tcombo.Text := Column.Field.Value;
Tcombo.Visible := True;
Tcombo.SetFocus
finally
Tcombo.Free;
end;
end;
end;دوست عزیز!اول آنكه من در واقع كامپوننتي كه از ComboBox وراثت گرفته درست كرده ام كه مشخصات خاصي دارد و بايد آنرا در سلول گريد بگذارم.
دوم آنكه مدير عامل ميخواهد حتما يك Object Orented باشد و حتما حتما داخل سلول ايجاد شود نه نقاشي و ...
نگاهی بکن به پست هایی که کردی. چیزهایی که بر خلاف خواسته وسوال شما مشهودند:
1- گنگ و مبهم بودن سوال
2- تغییر خواسته و سوال
3- اضافه شدن مفروضات و شرایط جدید
...
باید در سوال پرسیدن یادمون باشه:
- دقیق بدونیم چی می خواهیم
- یه کم فکر کنیم، اگه حل نشد ...
- کلمات کلیدی خواستمون رو در بیاریم
- با استفاده از کلمات کلیدی در سایت جستجو کنیم اگه پیدا نشد ...
- عنوان درست برای سوالمون انتخاب کنیم
- اینو بدونیم که دیگران توی ذهن و جلسات ما! نیستن که بدونن توش چی می گذره، چی می خواهیم و ...، و ما فقط با لغات هستش که اونا رو می تونیم مطلع و آگاه کنیم، پس ...
- سوالمون رو دقیق و با تمام فرضیات و شرایط بیان کنیم و اگر نمونه کد، منبع و ... هم داریم بذاریم
- اگه جواب گرفتیم فبه المراد، اگر نگرفتیم ...
- بدونیم که دیگرانی که وقت میذارن و جواب (حتی جوابی که مدنظر ما نیست و یا غلط! ) میدن، به ما دارن لطف می کنند و هیچ بایدی و وظیفه ای در جواب دادنشون نیست.
پی نوشت!
1- اینایی که اون بالا گفتم همشو به خودت برندوری، چون یه سریش کاملا مطالب کلی برای همه ماست.
2- ایضاً اینایی که اون بالا گفتم همشو رو هم به من! برندوری، چون من خیلی بیسوات تر از اونم که ...