datagridview排序(编程方式,数值比较,最后一行不排序)

    技术2022-05-20  66

            private void dgv_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)         {             rowSortASC(e.ColumnIndex);         }     

            //按某列递增 

            private void rowSortASC(int columnIndex)         {             DataTable dt = (DataTable)dgv.DataSource;             DataTable sort = dt.Clone();                        int count = dt.Rows.Count - 1;             for (int i = 0; i < count; i++)             {                 double max;                 int flag = 0;

                    

                    if (dt.Rows[0][columnIndex].ToString().Length <= 0)                 {                     max = -1;                 }                 else                 {                      max = Convert.ToDouble(dt.Rows[0][columnIndex].ToString());                 }

                    for (int j = 1; j < dt.Rows.Count - 1; j++)                 {                     double tmp;                     if (dt.Rows[j][columnIndex].ToString().Length <= 0)                     {                         tmp = -1;                     }                     else                     {                         tmp = Convert.ToDouble(dt.Rows[j][columnIndex].ToString());                     }

                        if (tmp > max)                     {                         flag = j;                         max = tmp;                     }                 }

                    sort.Rows.Add(dt.Rows[flag].ItemArray);                 dt.Rows.RemoveAt(flag);             }             sort.Rows.Add(dt.Rows[dt.Rows.Count - 1].ItemArray);             dgv.DataSource = sort;         }


    最新回复(0)