1 ضمیمه
عدم مرتب سازی datagridview در یک ستون
با سلام
با کد های زیر دیتاگرید برای ستون اول درست اعمال نمیشه! اما برای دو ستون بعدی درست اعمال میشه.
فکر کنم برای مرتب اسزی تا 3 رقم رو میخونه.
foreach (DictionaryEntry entry2 in hs2)
{
dtcustom.Rows.Add();
dtcustom.Rows[row][0] = codcust;//codcust is int variable
dtcustom.Rows[row][1] = int.Parse(entry2.Key.ToString());
dtcustom.Rows[row][2] = int.Parse(entry2.Value.ToString());
row++;
}
dataGridView2.DataSource = dtcustom;
private void dataGridView2_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (comboBox2.SelectedIndex == 1)
{
if (e.ColumnIndex == 0)
this.dataGridView2.Sort(this.dataGridView2.Columns["کدمشتری"], ListSortDirection.Ascending);
else if (e.ColumnIndex == 1)
this.dataGridView2.Sort(this.dataGridView2.Columns["کدکالا"], ListSortDirection.Ascending);
else if (e.ColumnIndex == 2)
this.dataGridView2.Sort(this.dataGridView2.Columns["تعدادخرید"], ListSortDirection.Ascending);
}
else
{
if (e.ColumnIndex == 0)
this.dataGridView2.Sort(this.dataGridView2.Columns["کدمشتری"], ListSortDirection.Descending);
else if (e.ColumnIndex == 1)
this.dataGridView2.Sort(this.dataGridView2.Columns["کدکالا"], ListSortDirection.Descending);
else if (e.ColumnIndex == 2)
this.dataGridView2.Sort(this.dataGridView2.Columns["تعدادخرید"], ListSortDirection.Descending);
}
}
نتیجه مرتب سازی هم برای ستون اول میشه تصویر زیر :
ضمیمه 145580
نقل قول: عدم مرتب سازی دیتا گرید در یک ستون
اگر کدمشتری از نوع رشته هست، درست sort شده. اگر میخواهید برحسب ترتیب عددی مرتب بشه باید کدمشتری به صورت عدد در آمده و به گرید اضافه کنید.
نقل قول: عدم مرتب سازی datagridview در یک ستون
تعجب من هم از اینه که عددی هستش نه رشته.
توی این خط هم چک کردم
dtcustom.Rows[row][0] = codcust;//codcust is int variable
نقل قول: عدم مرتب سازی datagridview در یک ستون
با تغییر کد در تعریف نوع مقدار ستون مشکل حل شد:
DataTable dtcustom = new DataTable();
dtcustom.Columns.Add("کدمشتری", typeof(int));
dtcustom.Columns.Add("کدکالا", typeof(int));
dtcustom.Columns.Add("تعدادخرید", typeof(int));