ملء عمود داتاغريدفيف منسدل مع دون سرعة الصوت وvb.net

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

سؤال

ومثل يقول العنوان، وأنا أحاول لملء عمود مربع التحرير والسرد في داتاغريدفيف.

وهنا ما لدي حتى الآن:

Dim lc As System.Web.UI.WebControls.ListItemCollection = _
    DataAccess.Part.GetListItems()

dgvcboPart.DataSource = lc

' This is a standalone combo box and it works ok
cboTest.DataSource = lc

وأي اقتراحات بشأن ما أنا في عداد المفقودين؟

والشكر توني W

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

المحلول

وأنا أقترح عليك أولا ربط أغانى أخرى إلى BindingSource ثم قم بإضافة BindingSource إلى داتاغريدفيف (حتى تعرف موقف)

ولكن ينبغي أن يكون ملزما ComboBoxCell الى حد كبير على التوالي إلى الأمام.

ودعونا نقول لديك tblCurrency DataTable والتي تحتوي على عمودين معرف واسم. لديك لربط هذا العمود الخاص بك (أفترض العمود 0 IST DataGridViewColumn الخاص بك)

     dgvcboPart.Columns(0).DataSource = tblCurrency
     dgvcboPart.Columns(0).ValueMember = "Id"
     dgvcboPart.Columns(0).DisplayMember = "Name"

وبعد ذلك يمكنك تعيين DataPropertyName إلى الملكية في مصدر البيانات الخاص بك.

     dgvcboPart.Columns(0).DataPropertyName = "Currency_Id"

وكن حذر، tblCurrency.Id وCurrency_Id يجب أن تكون من نفس النوع (Int32 UInt32 ولا يعمل) وتحصل على MESSAGEBOX سيئة مع تتبع مكدس الذاكرة المؤقتة كامل إذا Currency_Id له قيمة غير موجود في tblCurrency (بحيث يجب عليك التعامل مع الحدث DataError)

نصائح أخرى

dgvcboPart.DataSource = lc
dgvcboPart.DataBind()

ويكون لاستدعاء أسلوب DataBind للسحر أن يحدث!

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