اذهب إلى المحتوى
  • 0

كيف أتيح Combobox في Viewmodel؟

Badraoui

السؤال

لدي قائمة منسدلة combobox في ملف xaml، بالاضافة إلى ملف viewmodel  وأريد اضافة القائمة المنسدلة إلى الملف، حاولت بهذه الطريقة:

كود xaml :

<ComboBox   Binding.XmlNamespaceManager="SelectNameCB"  
            FontSize="15" 
            Margin="10,0,0,0" 
            HorizontalAlignment="Left" 
            VerticalAlignment="Top" 
            Width="207" />

ملف viewmodel، حيث أن SelectNameCB معرّف لـ Combobox:

private void ComboBoxdata()
{
    OleDbConnection ConDb;
    String eID;

    ConDb = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Admin\\Documents\\Visual Studio 2012\\Projects\\Feedback\\Feedback.accdb");

    try
    {
        ConDb.Open();
        OleDbCommand DBSelect = new System.Data.OleDb.OleDbCommand("select FName, LName,ID_NAME from NameList", ConDb);
        OleDbDataReader reader = DBSelect.ExecuteReader();



        while (reader.Read())
        {
            string eNAME = "";
            eID = reader["ID_NAME"].ToString();

            eNAME += reader["FName"].ToString();
            eNAME += " " + reader["LName"].ToString();

            SelectNameCB.Items.Add(eNAME);


        }
    }
    catch (Exception ae)
    {
        MessageBox.Show(ae.Message);

    }//catch
}

وللأسف لم ينجح الأمر ـ هل من تقنية أخرى لفعل ذلك؟ أو تصحيح للكود السابق؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

جرّب هذا الكود، حيث في أول الأمر سنكتب الدالة الخاصة بملء القائمة المنسدلة:

private List<string> _MyComboBoxData;
public List<string> MyComboBoxData
{
//جلب العناصر من مصفوفة
    get
    {
        return _MyComboBoxData;
    }
//إدخال القيم للمصفوفة
    set
    {
        _MyComboBoxData = value;
        OnPropertyChanged(() => MyComboBoxData);
    }
}

ثم نجلب البيانات من القاعدة -قاعدة البيانات-، ونضيفها للقائمة المنسدلة بالشكل التالي:

 

ConDb.Open();
OleDbCommand DBSelect = new System.Data.OleDb.OleDbCommand("select FName, LName,ID_NAME from NameList", ConDb);
// جلب البيانات
OleDbDataReader reader = DBSelect.ExecuteReader();
// قراءة البيانات
while (reader.Read())
{
    string eNAME = "";
    eID = reader["ID_NAME"].ToString();
    eNAME += reader["FName"].ToString();
    eNAME += " " + reader["LName"].ToString();

// إضافة المعلومات المستخرجة من قاعدة البيانات إلى القامة المنسدلة
    MyComboBoxData.Add(eNAME);
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...