ترتيب داتاجريد عن طريق زرار لاعلى ولاسفل

السلام عليكم ورحمة الله ,قابلتنى هذه المشكلة عند الحاجة لعمل ترتيب للوائح التعاقد لدينا عن طريق زرار Move Up  و Move Down

تعتمد الفكرة على DataGridView  مرتبطة بجدول اللوائح حيث اقوم بتخزين الصف القديم فى صف جديد ثم احذف القديم واعيد اضافة الصف الجديد فى فهرس مختلف

والكود كالتالى


if (dgvList.SelectedRows != null)
{
if (dgvList.CurrentRow.Index < dgvList.Rows.Count)
{
DataRow NewRow = ds.gc_Terms.NewRow();
NewRow.ItemArray = ds.gc_Terms.Rows[dgvList.CurrentRow.Index].ItemArray;
int CurrentIndex = dgvList.CurrentRow.Index;
ads.gc_Terms.Rows.RemoveAt(CurrentIndex);
ds.gc_Terms.Rows.InsertAt(NewRow, CurrentIndex + 1);

}

}

Crystal Report Sorting

السلام عليكم ورحمة الله ,ملحوظة جميلة وصغيرة وجدتها عند العمل على Crystal Report ,الترتيب فى Crystal Report لا يفهم البيانات من حيث معناها اى لا يميز بين الحروف والارقام ,فاذا كنت تريد ترتيب الارقام من الاصغر للاكبر وكان نوعها String فانه سيرتب 16 قبل 6 لان الواحد يسبق فى الترتيب 6 لذلك يجب تحويل نوع ال Field الى Integer