取得在DataGrIDVIEw中被选择的列、行、单元格时,可以使用DataGrIDVIEw对象的SelectedColumns、SelectedRows、SelectedCells属性。
[VB.NET] '表示被选择的单元格 Console.Writeline("单元格被选择") For Each c As DataGrIDVIEwCell In DataGrIDVIEw1.SelectedCells Console.Writeline("{0},{1}",c.ColumnIndex,c.RowIndex) Next c '表示被选择的行 Console.Writeline("行被选择") For Each r As DataGrIDVIEwRow In DataGrIDVIEw1.SelectedRows Console.Writeline(r.Index) Next r '表示被选择的列 Console.Writeline("列被选择") For Each c As DataGrIDVIEwColumn In DataGrIDVIEw1.SelectedColumns Console.Writeline(c.Index) Next c
[C#] //表示被选择的单元格 Console.Writeline("单元格被选择"); foreach (DataGrIDVIEwCell c in DataGrIDVIEw1.SelectedCells) { Console.Writeline("{0},c.RowIndex); } //表示被选择的行 Console.Writeline("行被选择"); foreach (DataGrIDVIEwRow r in DataGrIDVIEw1.SelectedRows) { Console.Writeline(r.Index); } //表示被选择的列 Console.Writeline("列被选择"); foreach (DataGrIDVIEwColumn c in DataGrIDVIEw1.SelectedColumns) { Console.Writeline(c.Index); }
Performance优化
选择范围很广时,属性的Performance就会变得反应迟缓。
如果只想取得被选择单元格的数字时,可以不使用「DataGrIDVIEw1.SelectedCells.Count」取得了,而使用DataGrIDVIEw.GetCellCount方法会效率更高的。同样,取得被选择列的数字时使用GetColumnCount方法,行的数字时使用GetRowCount方法。
[VB.NET] '被选择单元格的数 Console.Writeline( _ DataGrIDVIEw1.GetCellCount(DataGrIDVIEwElementStates.Selected)) '被选择行的数 Console.Writeline( _ DataGrIDVIEw1.Rows.GetRowCount(DataGrIDVIEwElementStates.Selected)) '被选择列的数 Console.Writeline( _ DataGrIDVIEw1.Columns.GetColumnCount(DataGrIDVIEwElementStates.Selected))
[C#] //被选择单元格的数 Console.Writeline( DataGrIDVIEw1.GetCellCount(DataGrIDVIEwElementStates.Selected)); //被选择行的数 Console.Writeline( DataGrIDVIEw1.Rows.GetRowCount(DataGrIDVIEwElementStates.Selected)); //被选择列的数 Console.Writeline( DataGrIDVIEw1.Columns.GetColumnCount(DataGrIDVIEwElementStates.Selected));
检测DataGrIDVIEw内所有被选择的单元格时,可以使用DataGrIDVIEw.AreAllCellsSelected方法。
补充:使用AreAllCellsSelected方法,共享行可能会变为非共享行。
选择被指定的列、行、单元格
选择被指定的列、行、单元格时,设定Selected属性为True即可。
[VB.NET] '选择(0,0)的单元格 DataGrIDVIEw1(0,0).Selected = True '选择索引1的行 DataGrIDVIEw1.Rows(1).Selected = True '选择索引2的列 DataGrIDVIEw1.Columns(2).Selected = True
[C#] //选择(0,0)的单元格 DataGrIDVIEw1[0,0].Selected = true; //选择索引1的行 DataGrIDVIEw1.Rows[1].Selected = true; //选择索引2的列 DataGrIDVIEw1.Columns[2].Selected = true;
补充:选择所有的单元格可以使用DataGrIDVIEw.SelectAll方法,解除时使用DataGrIDVIEw.ClearSelection方法。
总结以上是内存溢出为你收集整理的datagridview的行列选择全部内容,希望文章能够帮你解决datagridview的行列选择所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)