PDA

View Full Version : سوال: نمایش آیتم های ComboBox



مائده 100
شنبه 29 آبان 1389, 14:46 عصر
با سلام
من مي خواستم يك ركورد از اطلاعات رو از dbgride كه انتخاب كردم و اونا رو كه به يك فرم ارسال مي كنم بعضي هاشو در داخل combo box قرار بده ولي چون combo box در حالت cs dropdownlist قرار دادره نمايش نمي ده حالا مي شه راهنمائي ام كنيد كه چه كار كنم؟
نمي خوام combo box ام در حالت edit باشه .

Mahmood_M
شنبه 29 آبان 1389, 17:40 عصر
خوب مشکلتون چیه ؟! ، وقتی اطلاعات رو داخل ComboBox ذخیره کردید ، خاصیت ItemIndex مربوط به ComboBox رو برابر با Index همون آیتمی که می خواید نشون داده بشه قرار بدید ، چون ItemIndex به صورت پیشفرض 1- هست هیچ آیتمی نشون داده نمیشه ، برای اطلاعات بیشتر به اینجا (http://www.barnamenevis.org/forum/showthread.php?t=207656) برید !

درضمن : سعی کنید برای تاپیکهایی که ایجاد میکنید عنوان مناسبی انتخاب کنید ...

موفق باشید ...

مائده 100
یک شنبه 30 آبان 1389, 07:52 صبح
خوب مشکلتون چیه ؟!
موفق باشید ...
سلام ببينيد منظورمو فكر كنم خوب نتونستم بگم من وقتي يك ركورد رو در يك db gride انتخاب ميكنم وقتي كه دكمه اصلاح رو فشار مي دم مي خوام تمام فيلدها يكي يكي در فرم بعدينمايش داده بشه در مور edit ها مشكل ندارم

Edit1.Text:=AdoQuery1.FieldByName('text').AsString ;

اما وقتي همين كار رو در مورد combobox انجام مي دم چيزي نمايش داده نمي شه
البته اگه combobox در حالت cs drop down قرار بدم نمايش مي ده ولي من نمي خوام كسي بتونه اطلاعات وارد كنه مي خوام فقط بتونه از ليست انتخاب كنه.

Mahmood_M
یک شنبه 30 آبان 1389, 12:59 عصر
اما وقتي همين كار رو در مورد combobox انجام مي دم چيزي نمايش داده نمي شه
چطوری این کار رو برای ComboBox انجام میدید ؟
وقتی خاصیت Style مربوط به ComboBox روی csDropDownList تنظیم شده ، نمی تونید مستقیما خاصیت Text اون رو مقداردهی کنید ، باید یک Item جدید در اون Add کنید :

ComboBox1.Items.Add('Your Text');
بعد از Add کردن آیتم هم مقدار خاصیت ItemIndex اون رو تنظیم کنید ، مثلا اگر این خاصیت صفر باشه اولین آیتم نشون داده میشه و اگر یک باشه دومی و ...

اطلاعات بیشتر هم در همون تاپیکی که در پست قبلی معرفی کردم هست ...

موفق باشید ...

مائده 100
یک شنبه 30 آبان 1389, 14:38 عصر
ComboBox1.Items.Add('Your Text');

اين نوشته رو مي خوام از بانك در داخل combo box بريزم نمي دونم چه جوري

ComboBox1.Items:=AdoQuery1.FieldByName('text').AsS tring

اگه مي شه اين كد رو در ست كنيد. مرسي

hossein_h62
یک شنبه 30 آبان 1389, 14:47 عصر
اين نوشته رو مي خوام از بانك در داخل combo box بريزم نمي دونم چه جوري

ComboBox1.Items:=AdoQuery1.FieldByName('text').AsS tring


اگه مي شه اين كد رو در ست كنيد. مرسي


اینجوری :



combobox1.Items.Add(AdoQuery1.FieldByName('text'). AsString);

مائده 100
یک شنبه 30 آبان 1389, 15:26 عصر
اینجوری :



combobox1.Items.Add(AdoQuery1.FieldByName('text'). AsString);

چيزي نمايش داده نمي شه.

Felony
یک شنبه 30 آبان 1389, 15:32 عصر
اضافه میشه یا نه ، اگر فقط نمایش داده نمیشه :


combobox1.ItemIndex:= 0;

در غیر این صورت یه نمونه پروژه که این مشکل رو داره ضمیمه کنید .

مائده 100
دوشنبه 01 آذر 1389, 09:41 صبح
اضافه میشه یا نه ، اگر فقط نمایش داده نمیشه :


combobox1.ItemIndex:= 0;

در غیر این صورت یه نمونه پروژه که این مشکل رو داره ضمیمه کنید .

با سلام اين كد درسته براي اولين بار نمايش مي ده ولي وقتي كه از combobox ايتم ديگه رو انتخاب مي كنم ديگه اون ايتم نمايش ميده و ديگه اوني كه به combobox ارسال مي كنم نمايش نمي ده

Felony
دوشنبه 01 آذر 1389, 10:19 صبح
با سلام اين كد درسته براي اولين بار نمايش مي ده ولي وقتي كه از combobox ايتم ديگه رو انتخاب مي كنم ديگه اون ايتم نمايش ميده و ديگه اوني كه به combobox ارسال مي كنم نمايش نمي ده

آخر ما نفهمیدیم مشکل شما چیه ؟!
پروژتون رو قرار بدید .

Mahmood_M
دوشنبه 01 آذر 1389, 12:47 عصر
با سلام اين كد درسته براي اولين بار نمايش مي ده ولي وقتي كه از combobox ايتم ديگه رو انتخاب مي كنم ديگه اون ايتم نمايش ميده و ديگه اوني كه به combobox ارسال مي كنم نمايش نمي ده
وقتی آیتم جدیدی به ComboBox اضافه میکنید ، اون آیتم میشه آخرین آیتم ComboBox و در آخر لیست آیتم های اون قرار می گیره ، هر آیتمی در ComboBox یک Index داره که یک مقدار عددی هست و شماره ی اون رو در لیست نشون میده ، مقدار Index از صفر شروع میشه ، یعنی اولین آیتم مقدار Index اش میشه 0 ، دومی میشه 1 ، سومی میشه 2 و ...
برای نمایش هر کدوم از آیتم های درون لیست ComboBox باید خاصیت ItemIndex مربوط به ComboBox رو برابر با مقدار Index آیتم مورد نظر قرار بدید ، مثلا دستور زیر دومین آیتم از ComboBox رو نمایش میده :

ComboBox1.ItemIndex := 1;

همونطور که ذکر شد ، وقتی آیتم جدیدی در ComboBox شما Add میشه ، میره آخر لیست میشه آخرین آیتم در لیست ComboBox ، اگر قبل از Add کردن آیتم جدید مثلا ComboBox شما 3 آیتم داشته باشه ، بعد از Add کردن آیتم جدید میشه 4 آیتم و آیتم جدید هم میشه چهارمی ! ، چون میشه چهارمی پس Index اش برابر 3 هست ، یعنی به طور کلی :

:: شماره Index آیتم جدید = تعداد کل آیتم ها - 1 ::
تعداد کل آیتمها هم به صورت زیر به دست میاد :
var
I : Integer;
begin
I := ComboBox1.Items.Count;
end;
حالا اگر بعد از Add کردن آیتم جدید مقدار ItemIndex رو برابر با " تعداد کل آیتم ها - 1 " قرار بدید ، آخرین آیتمی که Add شده نمایش داده میشه :
ComboBox1.Items.Add('Item Name');
ComboBox1.ItemIndex := ComboBox1.Items.Count - 1;

موفق باشید ... !