حلقة من خلال صفوف من DataTable وخاص
سؤال
وIDE: VS 2008، منصة: .NET Framework 3.5،
ومرحبا،
وهنا هو بلدي الأعمدة DataTable و:
وID ملاحظة التفاصيل
وأريد أن أكتب لك شيء من هذا القبيل:
//below code block is not the right syntax
For each q in dtDataTable.Column("Detail")
strDetail = Row of Column Detail
Next
ويمكن لأي شخص أن تعطيني اقتراح وتظهر لي نموذج التعليمات البرمجية من فضلك؟ شكر.
المحلول
For Each row As DataRow In dtDataTable.Rows
strDetail = row.Item("Detail")
Next row
وهناك أيضا الاختزال:
For Each row As DataRow In dtDataTable.Rows
strDetail = row("Detail")
Next row
لاحظ أن المبادئ التوجيهية على غرار مايكروسوفت لصافي الآن يوصي تحديدا ضد استخدام البادئات نوع الهنغارية للمتغيرات. بدلا من "strDetail"، على سبيل المثال، يجب عليك فقط استخدام "التفاصيل".
نصائح أخرى
Dim row As DataRow
For Each row In dtDataTable.Rows
Dim strDetail As String
strDetail = row("Detail")
Console.WriteLine("Processing Detail {0}", strDetail)
Next row
وترغب في حلقة على .Rows، والوصول إلى العمود للصف مثل ف ( "عمود")
وفقط:
For Each q In dtDataTable.Rows
strDetail = q("Detail")
Next
وأيضا التأكد من أن تحقق MSDN ثيقة لأي درجة التي تستخدم + استخدام التحسس
وهنا أفضل طريقة وجدت:
For Each row As DataRow In your_table.Rows
For Each cell As String In row.ItemArray
'do what you want!
Next
Next
لا تنتمي إلى StackOverflow