كيفية تعيين مصدر بيانات DataGridView داخل أداة ToolStripControlhost؟ (C# نماذج النوافذ)

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

سؤال

لدي DataGridView داخل عنصر تحكم ContextMenu ، يرجى الاطلاع على مقتطف الرمز أدناه:

private void Form1_Load(object sender, EventArgs e)
        {
            SetDataSource(dataSet1);// A populated DataSet
        }

protected void SetDataSource(DataSet ds)
        {
            dataGridView1.DataSource = ds;
            ToolStripControlHost tsHost = new ToolStripControlHost(dataGridView1);
            contextMenuStrip1.Items.Clear();
            contextMenuStrip1.Items.Add(tsHost);
            contextMenuStrip1.Show(textBox1, 0, 27);
        }

 private void button1_Click(object sender, EventArgs e)
        {
            SetDataSource(dataSet2);// Another populated DataSet
        }

ما يحدث هنا هو عندما يتم فتح النموذج ، يعرض السياق وعرض DataGridView عليه بقيمة Dataset1. ولكن عندما أقوم بالنقر فوق الزر لتغيير مصدر بيانات الشبكة ، فإنه لا يعرض سجلات Dataset2. الرجاء مساعدتي في كيفية إصلاح هذا ... شكرا ...

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

المحلول 2

أجاب بالفعل هنا.

نصائح أخرى

قد تحاول تعيين مصدر بيانات DGV إلى كائن Bindingsource ، ثم تعديل مصدر بيانات Bindingsource بدلاً من ذلك. يمكنك فرض Bindingsource على التحديث ، إذا لم يكن ذلك تلقائيًا ، من خلال استدعاء correncymanager.refresh ().

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