گرفتن ردیف های datatable بر اساس گروه بندی یک ستون
سلام دوستان ببخشید اگه عنوان مناسب تری به کار نبردم
راسش تو سناریوی من یه datatable هست که توش اطلاعات یه جدول هست که بر اساس یه ستون دسته بندی میشن هستش ، برای مثال شما فرض کنید که میخوام اطلاعات واکشی شده خریداران چند تا شهر رو یکی یکی بکشم بیرون یعنی از 1000 تا ردیف واکشی شده که مربوط به 10 شهر هست ده بار لوپ بزنم و دیتاهای هر شهر رو جداگونه بهش دسترسی داشته باشم . حالا دستوری خودم استفاده میکنم اینه :
foreach (DataRow item in dt.AsEnumerable().GroupBy(s => s.Field<int>("cityid")))
اما سی شارپ نمیتونه (یا بهتره بگم خودم ) نمیتونم به Datarow ها دسترسی داشته باشم خروجی از نوع<int,DataRow> هست و من به ازای هر بار لوپ دنبال datarow اون هستم . از دوستانی که تو این زمینه تبهر دارند میخوام بهم کمک کنن مرسی
نقل قول: گرفتن ردیف های datatable بر اساس گرو ه بندی یک ستون
چند روزه پست زدم ن جوابی ن چیزی ! :ناراحت:
دوستان بالاخره تونستم با یه روش سر دستی(البته فعلا ) مشکلم رو حل کنم(بنازم خودوم):
DataTable dsf = dt.AsEnumerable().Where(s => s.Field<int>("cityid") == item.Key).CopyToDataTable();
حالا فقط کافیه بگیم dsf.Rows ، اصولش اینه که بگیم item.value یا همچین چیزی . ولی خب ...
البته جا داره از این پست تشکر کنم که جرقه ایده رو زد:
https://barnamenevis.org/showthread....=1#post2398941
نقل قول: گرفتن ردیف های datatable بر اساس گرو ه بندی یک ستون
نقل قول:
نوشته شده توسط
aminaltavista
چند روزه پست زدم ن جوابی ن چیزی ! :ناراحت:
دوستان بالاخره تونستم با یه روش سر دستی(البته فعلا ) مشکلم رو حل کنم(بنازم خودوم):
DataTable dsf = dt.AsEnumerable().Where(s => s.Field<int>("cityid") == item.Key).CopyToDataTable();
حالا فقط کافیه بگیم dsf.Rows ، اصولش اینه که بگیم item.value یا همچین چیزی . ولی خب ...
البته جا داره از این پست تشکر کنم که جرقه ایده رو زد:
https://barnamenevis.org/showthread....=1#post2398941
foreach (var group in dt.AsEnumerable().GroupBy(s => s.Field<int>("cityid")))
{
foreach (var row in group)
{
}
}
foreach (var group in dt.AsEnumerable().GroupBy(s => s.Field<int>("cityid")))
{
var groupDt = group.CopyToDataTable();
foreach (var row in groupDt.Rows)
{
}
}
نقل قول: گرفتن ردیف های datatable بر اساس گرو ه بندی یک ستون
نقل قول:
نوشته شده توسط
the king
foreach (var group in dt.AsEnumerable().GroupBy(s => s.Field<int>("cityid")))
{
foreach (var row in group)
{
}
}
foreach (var group in dt.AsEnumerable().GroupBy(s => s.Field<int>("cityid")))
{
var groupDt = group.CopyToDataTable();
foreach (var row in groupDt.Rows)
{
}
}
دومی از همه موارد قابل قبولتره (ای بنازم خودت)