لدي DataGridView
مرتبط بـ DataTable
(DataTable
مرتبط بقاعدة البيانات). أحتاج إلى إضافة DataRow
إلى DataTable
. أحاول استخدام الكود التالي:
dataGridViewPersons.BindingContext[table].EndCurrentEdit();
DataRow row = table.NewRow();
for (int i = 0; i < 28; i++)
{
row[i] = i.ToString();
}
لكنه لا يعمل ، DataGridView
لم تتم إضافة صف جديد أبدًا. من فضلك ، أخبرني ، كيف يمكنني إصلاح الكود الخاص بي؟
شكرا لكم مقدما.
يمكنك أن تجرب باستخدام هذا الكود - على أساس Rows.Add method
DataTable table = new DataTable();
DataRow row = table.NewRow();
table.Rows.Add(row);
الرابط: https://msdn.Microsoft.com/en-us/library/9yfsd47w.aspx
لقد وجدت أمثلة dotnetperls على DataRow
مفيدة للغاية. مقتطف الشفرة الجديد DataTable
من هناك:
static DataTable GetTable()
{
// Here we create a DataTable with four columns.
DataTable table = new DataTable();
table.Columns.Add("Weight", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Breed", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
// Here we add five DataRows.
table.Rows.Add(57, "Koko", "Shar Pei", DateTime.Now);
table.Rows.Add(130, "Fido", "Bullmastiff", DateTime.Now);
table.Rows.Add(92, "Alex", "Anatolian Shepherd Dog", DateTime.Now);
table.Rows.Add(25, "Charles", "Cavalier King Charles Spaniel", DateTime.Now);
table.Rows.Add(7, "Candy", "Yorkshire Terrier", DateTime.Now);
return table;
}
// َ إنشاء صف جديد بهيكل الجدول:
DataTable table = new DataTable();
DataRow row = table.NewRow();
table.Rows.Add(row);
// إعطاء القيم إلى أعمدة الصف (من المفترض أن يحتوي هذا الصف على 28 عمودًا):
for (int i = 0; i < 28; i++)
{
row[i] = i.ToString();
}
يجب عليك أضف الصف بشكل صريح إلى الجدول
table.Rows.Add(row);
إذا دعت الحاجة للنسخ من جدول آخر ، فعليك نسخ الهيكل أولاً:
DataTable copyDt = existentDt.Clone();
copyDt.ImportRow(existentDt.Rows[0]);
هذا يعمل لي:
var table = new DataTable();
table.Rows.Add();
حاول table.Rows.add(row);
بعد بيان for
.