日期:2014-05-18  浏览次数:21077 次

WinForm的Datagridview如何禁止DataGridViewButtonColumn列排序
WinForm下的datagridview我添加了一个button列,我点击其他列可以实现排序,但是一点button列的列头就报错:索引超出范围。
代码如下:
  DataGridViewButtonColumn   btn   =   new   DataGridViewButtonColumn();
                                btn.Name   =   "操作 ";
                                btn.FlatStyle   =   FlatStyle.Popup;
                                btn.Width   =   100;
                                btn.Text   =   "设置 ";
                                btn.UseColumnTextForButtonValue   =   true;
                                btn.HeaderText   =   "权限维护 ";
                                gridControl1.Columns.Add(btn);
                                btn.SortMode   =   DataGridViewColumnSortMode.NotSortable;
                                gridControl1.Columns[gridControl1.Columns.Count   -   1].SortMode   =   DataGridViewColumnSortMode.NotSortable;
                                gridControl1.Columns[gridControl1.Columns.Count   -   1].HeaderCell.SortGlyphDirection=SortOrder.None;
                                btn.HeaderCell.SortGlyphDirection   =   SortOrder.None;


我试了设置sortmode和sortglyphdirection都不行,请问这个应该怎么做呢?多谢!

------解决方案--------------------
看一下是不是某一个DataGrodView的事件里的参数不正确,比如e.RowIndex是不是为-1啊什么的。

只是楼主说的情况,应该是没有问题的。