PDA

View Full Version : سوالی در مورد combo box



MY DEAR DELPHI
شنبه 28 آذر 1388, 14:57 عصر
سلام و خسته نباشید
مقادیر یک فیلد جدولی در داخل یک Combo قرار دارد . چطور می شه وقتی کاربر یک آیتم را از اون Combo انتخاب کرد کد اصلی اون مقدار رو بدست آورد ؟

Felony
شنبه 28 آذر 1388, 15:22 عصر
منظورتون از کد اصلی اون مقدار چیه ؟ میخوای مقدار انتخاب شده رو به دست بیاری یا ... ؟

MY DEAR DELPHI
شنبه 28 آذر 1388, 15:43 عصر
دو جدول دارم که از طریق کلیدی به هم ارتباط دارند . در داخل Combo نام کالایی که قبلا ثبت شده انتخاب می شود . الان برای ثبت درخواست کالا میخوام کد اصلی اون کالایی رو که کاربر انتخاب کرده در جدول درخواست کالا ثبت کنم

دلفــي
شنبه 28 آذر 1388, 17:53 عصر
دو جدول دارم که از طریق کلیدی به هم ارتباط دارند . در داخل Combo نام کالایی که قبلا ثبت شده انتخاب می شود . الان برای ثبت درخواست کالا میخوام کد اصلی اون کالایی رو که کاربر انتخاب کرده در جدول درخواست کالا ثبت کنم

شما مي تونيد در رويداد OnChange از ComboBox نام كالاي انتخاب شده را در يك متغير قرار دهيد :



var S:String;

S := ComboBox1.Items.Strings[ComboBox1.ItemIndex];


بعد از اين كار اگه كليد بين دو جدولت همون نام كالا باشه كه مي توني با استفاده از متغير S در جدول دومت جستجو كرده و كد كالاي موجود در S رو بدست بياري ، اگر هم كه كليدت يه فيلد ديگه است در جدول اولت باز با استفاده از متغير S جستجو كن و فيلد كليد مورد نظر رو پيدا كن و توسط مقداري كه براي فيلد كليدت پيدا كردي كد كالاي مورد نظر رو از جدول دوم مي توني بدست بياري .

MY DEAR DELPHI
شنبه 28 آذر 1388, 19:14 عصر
دوست عزیز
به گفته یکی از دوستان در #C یک حالتی هست که بر روی آیتم های Combo اجرا می شه که در اون وقتی فیلدهای یک جدول به combo به اصطلاح ADD می شه در DisplayMember هر آیتم مقدار اون فیلد و در ValueMember همون آیتم کلید اون فیلد رو ثبت می کنند . وقتی کاربر یک آیتمی رو انتخاب کرد از DisplayMember اون آیتم ValueMember رو که کلید اصلی باشه بازیابی و در نهایت ثبت می کنند .
من همین حالت رو در دلفی سوال کردم که آیا امکان دارد یا نه ؟

با تشکر

pezhvakco
شنبه 28 آذر 1388, 20:11 عصر
جزء امکانات ComboBox معمولی همچنین امکاناتی نیست چون این ابزار برای متن معمولی هست .
یه راهش همون راه استاد دلفی خان است و یا استفاده از DBLookupComboBox که راحت تر و سریعتر مقدار فیلدهای همون جدول رو میده .

vcldeveloper
شنبه 28 آذر 1388, 21:22 عصر
به گفته یکی از دوستان در C#‎ یک حالتی هست که بر روی آیتم های Combo اجرا می شه که در اون وقتی فیلدهای یک جدول به combo به اصطلاح ADD می شه در DisplayMember هر آیتم مقدار اون فیلد و در ValueMember همون آیتم کلید اون فیلد رو ثبت می کنند . وقتی کاربر یک آیتمی رو انتخاب کرد از DisplayMember اون آیتم ValueMember رو که کلید اصلی باشه بازیابی و در نهایت ثبت می کنند .
ComboBox استاندارد دلفی همچین قابلیتی نداره، یا باید خودتان همچین کنترلی را بنویسید، از کنترل های سایر شرکت ها که این قابلیت را دارند، استفاده کنید، مثلا میدونم که ComboBoxهای مجموعه EhLib این قابلیت رو دارند.

zidane
شنبه 28 آذر 1388, 23:03 عصر
ComboBox1.AddItem('Test', TObject(85));
ShowMessage(IntToStr(Integer(ComboBox1.Items.Objec ts[0])))


http://barnamenevis.org/forum/showthread.php?t=76265