PDA

View Full Version : پر کردن DBComboBox



یعقوب
پنج شنبه 16 بهمن 1382, 12:37 عصر
با سلام خدمت تمامى دوستان دلفى کار.
چگونه می شود آیتم هاى شىء DBComboBox را از روى مقادیر یک فیلد بانک اطلاعاتى پرکرد؟
لطفاً کامل پاسخ بدین... :wink:
با تشکر

عنوان ویرایش شد! کامبیز

Delphi-Clinic
پنج شنبه 16 بهمن 1382, 21:00 عصر
یک TTable جدید روی فرم قرار بده و نام آنرا مثلا ُ TempTable قرار بده حالا از کد زیر استفاده کن
و مقادیر فیلد مورد نظر را درون DBComboBox بخون.




TempTable.open;
while not TempTable.eof do begin
if dbconmobox1.items.indexof(TempTableYourField.value ) = -1 then
dbComboBox1.items.Add(TempTableYourField.value);
TempTable.Next
end;

JavanSoft
جمعه 17 بهمن 1382, 02:01 صبح
چرا از DbLookUpComboBox استفاده نمی کنید؟

یعقوب
یک شنبه 19 بهمن 1382, 00:25 صبح
با سلام.

دوست عزیز خیلی از راهنمایی تون متشکرم. من کد شما رو بصورت زیر تغییر دادم و توی برنامه گذاشتم:



TempTable.open;

while not TempTable.eof do

begin

if DBComboBox1.items.IndexOf(TempTable['area'].value) = -1 then

dbComboBox1.items.Add(TempTable['area'].value);

TempTable.Next

end;




در ضمن فیلد مورد نظر من area است.



اما پیغام خطای زیر می آید:

Project Project1.exe raised exception class EVariantInvalidOpError with message 'Invalid variant operation'.



لطفاً کمی بیشتر راهنمایی کنید. :roll:
باتشکر :)

Delphi-Clinic
یک شنبه 19 بهمن 1382, 00:41 صبح
سلام

نوع فیلد Area چیه؟

moradi_am
یک شنبه 19 بهمن 1382, 07:19 صبح
پیرو پیشنهاد آقای وکیلی dblookupcombobox بدون هیچ زحمتی این کاررا انجام میدهد استفاده کنید راحترید .ولی در عین حال بجای
TempTable['area'].value از
TempTable['area'].asstring
استفاده کنید شاید درست بشه .