PDA

View Full Version : کپی کردن چند سطر از یک دیتاتیبل به سایر دیتاتیبل ها در سی شارپ



arastoahmadi
دوشنبه 23 تیر 1399, 10:18 صبح
سلام به همه شما اساتیدذ گرامی

دوستان من یه دیتاتیبل دارم که با حلقه for چند تا از رکوردهاشو میخام تو یه دیتاتیبل دیگه بریزم کد نویسی من به شکل زیر هستش :
for (int i = datasourcestartIndex; i < datasourcestartIndex + pageRows; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{

if (i >= list.Count)

break;
// اینجا باید چی بنویسم برای دیتاتیبل بعدیم ;




}
}

ShayanFiroozi
سه شنبه 24 تیر 1399, 07:27 صبح
دوست گرامی سلام ،


اگر فرض کنیم هر دو DataTable از یک نوع و اندازه باشند :





foreach (DataRow dtRow in dataTableA.Rows)
{
dataTableB.Rows.Add(dtRow.ItemArray);
}

arastoahmadi
سه شنبه 24 تیر 1399, 07:46 صبح
سلام به شما جناب فیروزی بزرگوار

ممنون از پاسختون ، یعنی دستور شما باید جایگزین remark سبز رنگ بشه درسته ؟

ShayanFiroozi
سه شنبه 24 تیر 1399, 08:09 صبح
خیر ، جایگزین کل اون 2 حلقه for میتونه باشه ، البته تست کنین ، خودم کد رو تست نکردم و پیمایش لیست های Generic بهتر و ساده ترش با foreach هست نه با for.

arastoahmadi
سه شنبه 24 تیر 1399, 08:37 صبح
ممنون از پاسختون ولی من با حلقه for در واقع میخام سطرهای مثلا 0 تا 10 رو از 100 رکورد نشون بدم واسه همین از for استفاده کردم

ShayanFiroozi
چهارشنبه 25 تیر 1399, 08:19 صبح
for (int iRow = 0; iRow < dtTableA.Rows.Count; iRow++)
{
for (int jColumn = 0; jColumn < dtTableA.Columns.Count; jColumn++)
{


Console.WriteLine(dtTableA.Rows[iRow][jColumn]);


}
}

arastoahmadi
شنبه 28 تیر 1399, 15:20 عصر
ممنون از پاسختون جناب فیروزی ، حالا اگه بخام به جای Console.WriteLine تو خود گرید ویو نشون بدم باید به چه صورت برنامه مو تغییر بدم

ShayanFiroozi
یک شنبه 29 تیر 1399, 09:04 صبح
https://stackoverflow.com/questions/13362971/adding-rows-on-datagridview-manually (https://stackoverflow.com/questions/13362971/adding-rows-on-datagridview-manually)