代码如下:
private class RowComparer : System.Collections.IComparer
        {
            private static int sortOrderModifier = 1;            public RowComparer(SortOrder sortOrder)
            {
                if (sortOrder == SortOrder.Descending)
                {
                    sortOrderModifier = -1;
                }
                else if (sortOrder == SortOrder.Ascending)
                {
                    sortOrderModifier = 1;
                }
            }            public int Compare(object x, object y)
            {
                int CompareResult = 0;
                DataGridViewRow DataGridViewRow1 = (DataGridViewRow)x;
                DataGridViewRow DataGridViewRow2 = (DataGridViewRow)y;                // Try to sort based on the Last Name column.
                CompareResult = System.String.Compare(
                DataGridViewRow1.Cells[1].Value.ToString(),
                DataGridViewRow2.Cells[1].Value.ToString());
                // If the Last Names are equal, sort based on the First Name.
                if (CompareResult == 0)
                {
                    CompareResult = System.String.Compare(
                        DataGridViewRow1.Cells[0].Value.ToString(),
                        DataGridViewRow2.Cells[0].Value.ToString());
                }
                return CompareResult * sortOrderModifier;
            }
        }
调用ColumnHeaderMouseClick事件
private void MeterList_dgv_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            this.MeterList_dgv.VirtualMode = false;
            this.MeterList_dgv.Columns[e.ColumnIndex].SortMode = DataGridViewColumnSortMode.Programmatic;
            this.MeterList_dgv.Sort(new RowComparer(SortOrder.Descending));
}
点击列表头出现如下错误:
 Object reference not set to an instance of an object.(  指CompareResult = System.String.Compare(DataGridViewRow1.Cells[1].Value.ToString(),DataGridViewRow2.Cells[1].Value.ToString());出错)
跪求高手解决