protected override void SortImpl(DataGridView grid, MulitColumnsSortLogic logic)
        {
            List <T> list = grid.DataSource as List <T>;

            if (list != null)
            {
                logic.SortLis <T>(list);
                grid.DataSource = list;
            }
        }
        protected virtual void SortImpl(DataGridView grid, MulitColumnsSortLogic logic)
        {
            string sort = logic.GetSortStr();

            System.Diagnostics.Debug.WriteLine("sort:{0}", sort);
            DataView dv = grid.DataSource as DataView;

            if (dv != null)
            {
                dv.Sort         = sort;
                grid.DataSource = dv;
            }
        }