تحديد متعدد مربع القائمة منضما إلى قاعدة البيانات في دلفي 6

StackOverflow https://stackoverflow.com/questions/244536

  •  05-07-2019
  •  | 
  •  

سؤال

وأنا باستخدام دلفي 6، وأريد قاعدة بيانات ملزمة مربع القائمة مع تحديد متعدد. لقد وجدت ثلاثة أنواع من مربعات القائمة: TListBox، TDBListBox وTDBLookupListBox.

وبقدر ما أستطيع أن أفهم، ليست ملزمة TListbox إلى قاعدة البيانات. TDBListBox وTDBLookupListBox لا يمكن multiselected.

هل هناك طريقة للحصول على مربع القائمة تحديد متعدد binded إلى قاعدة البيانات؟

هل كانت مفيدة؟

المحلول

والمشكلة مع عناصر ربط البيانات هي أنها تعتمد على مصدر بيانات ومصدر بيانات ليس لديها سوى مؤشر واحد. ربما كان هذا هو السبب.

وبالمناسبة، هل تحتاج إلى تغيير البيانات؟ آخر هل يمكن ملء مربع القائمة العادي من مجموعة بيانات. أو حتى استخدام مربع القائمة بيانات غير مرئية ونسخ المحتويات إلى مربع القائمة العادي.

نصائح أخرى

وليس بقدر ما أعرف.
والمعيار هو أن نقدم لكم مع قائمة مجموعة من القيم التي تمثل 1 السجل الحالي.
إلا إذا كان لديك حقل متعدد القيم (ضد أفضل الممارسات) لا استطيع ان ارى كيف يمكن تحديد متعدد ...

وأو ما قد ترغب في الواقع الجدول الفرعي؟

وDevExpress TcxDBListBox يدعم تحديد متعدد. يمكنني استخدام قطرة تحديد متعدد على مربع الاختيار منضما إلى قاعدة بيانات لأسفل، انها حلوة.

والمكونات لديها وسائل يمكنك تطبيق لتحويل من وإلى قائمتك. EditValueToStates وStatesToEditValue. في حين لم يتم تطبيع مخزن البيانات I (I تخزين منقوطة قائمة محددة من الأرقام الإصدار)، وإنشاء فهرس البحث عن النص الكامل في هذا المجال، مع منقوطة كما هو محدد، والآن لا يزال يمكنني إجراء عمليات بحث الأمثل في هذا المجال.

هل يمكن إنشاء الخاصة عنصر مربع القائمة المخصصة التي تنحدر من TCustomListBox وإضافة خاصية مصدر بيانات القائمة الخاصة بك، وممتلكات أخرى مثل TStrings لاستخدامها كوعاء لعقد القيم المحددة. هل يمكن بعد ذلك نشر التغييرات إلى قاعدة البيانات باستخدام نقرة زر.

إذا كنت كمان مع بعض الخيارات من TDBGrid وتقييد الأعمدة فإنه يعرض، يمكنك جعل شيء يبدو الكثير كله مثل مربع القائمة. محاولة تعيين الخاصية خيارات ل[dgTitles، dgTabs، dgRowSelect، dgAlwaysShowSelection، dgCancelOnExit، dgMultiSelect] والعمل من هناك.

في لTDbLookupListBox لديك خيار لربط شيئين مختلفين إلى البيانات؛ أولا يمكنك ربط القائمة لمجموعة بيانات (ListSource / ListField / KeyField)، والثانية يمكنك ربط العنصر المحدد إلى حقل في بيانات أخرى (مصدر البيانات، DataField الخاص). فلا حرج من الناحية النظرية مع الرغبة في ربط قائمة العناصر إلى مجموعة البيانات، ومن ثم يدويا إدارة تحديدات متعددة، ولكن أنا لا أعتقد أنه من الممكن مع تنفيذ الحالي دون شاء subclasses ترث وتمكين أساليب الرقابة المطلوبة.

وبناء على تعليقك على فرانسوا، وأود أن استخدام TListbox طبيعي وكتابة التعليمات البرمجية لإدراج كافة القيم متميزة في القائمة، ومن ثم التعامل مع قيم متعددة اختر لنفسك. يعمل حل جيريمي أيضا، و DevExpress اكسبرس الكم الشبكة لديها نظام فلتر لطيفة التي بل قد يوفر لك بعض البرامج الأخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top