منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] فرز وترتيب صفوف الداتاقريدفيو بناءاً على عمودين - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] فرز وترتيب صفوف الداتاقريدفيو بناءاً على عمودين (/showthread.php?tid=41223)



فرز وترتيب صفوف الداتاقريدفيو بناءاً على عمودين - جيولوجي مبتدئ - 20-04-22

السلام عليكم ورحمة الله وبركاته 
يا شباب كيف أقوم بعملية فرز وترتيب صفوف الداتاقريدفيو بناءاً على عمودين أحدهما تاريخ والآخر وقت حيث يرتب الصفوف حسب التاريخ ثم يظهرها مرتبة حسب الوقت مثلاً يظهر الموظفين الحاضرين من بداية الشهر حتى يوم 15 بشكل مرتب من يوم 1 حتى يوم 15 وفي نقس الوقت يظهر لي بشكل مرتب توقيت حضور كل موظف 

 ولكم جزيل الشكر 
دمتم بود


RE: فرز وترتيب صفوف الداتاقريدفيو بناءاً على عمودين - ابو محمد محمد محمد - 21-04-22

وعليكم السلام ورحمة الله وبركاته


كود :
DataGridView1.Sort(DataGridView1.Columns(1), ListSortDirection.Ascending)

كما ترى يتم ترتيب البيانات تصاعديا للعمود المحدد وترتيبه 1 في القائمة

لجعل الترتيب تنازلي استخدم المعامل descending  

اما لو اردت فلترة البيانات  وترتيبها بنفس الوقت حسب حقل معين

كود :
Dim dv As DataView
dv = New DataView(ds.Tables(0), "type = 'business' ", "type Desc", DataViewRowState.CurrentRows)
DataGridView1.DataSource = dv
وجرب الطريقة التالية
كود :
Dim dt As New DataTable()
dt = TryCast(Form2.DataGridView1.DataSource, DataTable)

Dim myDataView As New DataView
myDataView = dt.DefaultView
myDataView.Sort = "Mallhev30day DESC, Mallhev3month DESC"

حيث يتم ترتيب البيانات لحقلين احدهما تصاعدي والاخر تنازلي

ولاحظ العملية على الجدول

كود :
myTable.DefaultView.Sort = (myTable.Columns(0).ColumnName & " Asc, " & myTable.Columns(1).ColumnName & " Asc")

ايضا يمكنك من خلال الكائن BindingSource انظر للصورة التالية

[attachment=27700]


RE: فرز وترتيب صفوف الداتاقريدفيو بناءاً على عمودين - جيولوجي مبتدئ - 21-04-22

تم المطلوب بمساعدتك أخي أبو محمد وجعلها في ميزان حسناتك في هذا الشهر الكريم 
 استخدمت الكود 


Dim dt As New DataTable()
dt = TryCast(Form2.DataGridView1.DataSource, DataTable)
Dim myDataView As New DataView
myDataView = dt.DefaultView
myDataView.Sort = "Mallhev30day DESC, Mallhev3month DESC"

لك جزيل الشكر 
دمت بود