DataGridView 行、列的隐藏和删除

原产地: http://www.cnblogs.com/jxsoft/archive/2011/05/06/2038952.html

行、列的隐藏

[VB.NET]
' DataGridView1
的第一列隐藏
DataGridView1.Columns(0).Visible = False
' DataGridView1
的第一行隐藏
DataGridView1.Rows(0).Visible = False

[C#]
// DataGridView1的第一列隐藏
DataGridView1.Columns[0].Visible= false;
// DataGridView1的第一行隐藏
DataGridView1.Rows[0].Visible= false;

2) 行头、列头的隐藏
[VB.NET]
'
列头隐藏
DataGridView1.ColumnHeadersVisible = False
'
行头隐藏
DataGridView1.RowHeadersVisible = False

[C#]
// 列头隐藏
DataGridView1.ColumnHeadersVisible= false;
// 行头隐藏
DataGridView1.RowHeadersVisible= false;

3) 行和列的删除
[VB.NET]
'
删除名为"Column1"的列
DataGridView1.Columns.Remove("Column1")
'
删除第一列
DataGridView1.Columns.RemoveAt(0)
'
删除第一行
DataGridView1.Rows.RemoveAt(0)

[C#]
' 删除名为"Column1"的列
DataGridView1.Columns.Remove("Column1");
' 删除第一列
DataGridView1.Columns.RemoveAt(0);
' 删除第一行
DataGridView1.Rows.RemoveAt(0);

4) 删除选中行
[VB.NET]
For Each r As DataGridViewRow In DataGridView1.SelectedRows
    If Not r.IsNewRow Then
        DataGridView1.Rows.Remove(r)
    End If
Next

[C#]
foreach (DataGridViewRow r in DataGridView1.SelectedRows)
{
    if (!r.IsNewRow)
    {
        DataGridView1.Rows.Remove(r);
    }
}

________________________________________
DataGridView禁止列或者行的Resize
GO TO TOP
1
) 禁止所有的列或者行的Resize
[VB.NET]
'
禁止用户改变DataGridView1的所有列的列宽
DataGridView1.AllowUserToResizeColumns = False

'禁止用户改变DataGridView1の所有行的行高
DataGridView1.AllowUserToResizeRows = False

[C#]
// 禁止用户改变DataGridView1的所有列的列宽
DataGridView1.AllowUserToResizeColumns =false;

//禁止用户改变DataGridView1の所有行的行高
DataGridView1.AllowUserToResizeRows= false;

但是可以通过 DataGridViewColumn.Width 或者DataGridViewRow.Height 属性设定列宽和行高。

2) 禁止指定行或者列的Resize
[VB.NET]
 
禁止用户改变DataGridView1的第一列的列宽
DataGridView1.Columns(0).Resizable = DataGridViewTriState.False

 禁止用户改变DataGridView1的第一列的行宽
DataGridView1.Rows(0).Resizable = DataGridViewTriState.False

[C#]
// 禁止用户改变DataGridView1的第一列的列宽
DataGridView1.Columns[0].Resizable= DataGridViewTriState.False;

// 禁止用户改变DataGridView1的第一列的行宽
DataGridView1.Rows[0].Resizable= DataGridViewTriState.False;
 
Resizable 属性设为 DataGridViewTriState.NotSet 时, 实际上会默认以DataGridView AllowUserToResizeColumns   AllowUserToResizeRows 的属性值进行设定。比如: DataGridView.AllowUserToResizeColumns = False Resizable NoSet 设定时,Resizable = False
判断 Resizable 是否是继承设定了DataGridView AllowUserToResizeColumns   AllowUserToResizeRows 的属性值, 可以根据 State 属性判断。如果 State 属性含有 ResizableSet,那么说明没有继承设定。
3) 列宽和行高的最小值的设定
[VB.NET]
'
第一列的最小列宽设定为 100
DataGridView1.Columns(0).MinimumWidth = 100

' 第一行的最小行高设定为 50
DataGridView1.Rows(0).MinimumHeight = 50

[C#]
// 第一列的最小列宽设定为100
DataGridView1.Columns[0].MinimumWidth= 100;

// 第一行的最小行高设定为 50
DataGridView1.Rows[0].MinimumHeight= 50;

4) 禁止用户改变行头的宽度以及列头的高度
[VB.NET]
 
禁止用户改变列头的高度
DataGridView1.ColumnHeadersHeightSizeMode = _
    DataGridViewColumnHeadersHeightSizeMode.DisableResizing

' 禁止用户改变行头的宽度
DataGridView1.RowHeadersWidthSizeMode = _
    DataGridViewRowHeadersWidthSizeMode.EnableResizing

[C#]
// 禁止用户改变列头的高度
DataGridView1.ColumnHeadersHeightSizeMode=
    DataGridViewColumnHeadersHeightSizeMode.DisableResizing;

// 禁止用户改变行头的宽度
DataGridView1.RowHeadersWidthSizeMode=
    DataGridViewRowHeadersWidthSizeMode.EnableResizing;

________________________________________
DataGridView列宽和行高自动调整的设定:
GO TO TOP

1) 设定行高和列宽自动调整
[VB.NET]
'
设定包括Header和所有单元格的列宽自动调整
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

' 设定包括Header和所有单元格的行高自动调整
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells

[C#]
// 设定包括Header和所有单元格的列宽自动调整
DataGridView1.AutoSizeColumnsMode= DataGridViewAutoSizeColumnsMode.AllCells;

// 设定包括Header和所有单元格的行高自动调整
DataGridView1.AutoSizeRowsMode= DataGridViewAutoSizeRowsMode.AllCells;

AutoSizeColumnsMode 属性的设定值枚举请参照 msdn DataGridViewAutoSizeRowsMode 说明。

2)指定列或行自动调整
[VB.NET]
 
第一列自动调整
DataGridView1.Columns(0).AutoSizeMode = _
    DataGridViewAutoSizeColumnMode.DisplayedCells

[C#]
// 第一列自动调整
DataGridView1.Columns[0].AutoSizeMode=
    DataGridViewAutoSizeColumnMode.DisplayedCells;

AutoSizeMode 设定为 NotSet  时, 默认继承的是  DataGridView.AutoSizeColumnsMode属性。

3) 设定列头的高度和行头的宽度自动调整
[VB.NET]
 
设定列头的宽度可以自由调整
DataGridView1.ColumnHeadersHeightSizeMode = _
    DataGridViewColumnHeadersHeightSizeMode.AutoSize

 设定行头的宽度可以自由调整
DataGridView1.RowHeadersWidthSizeMode = _
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders

[C#]
// 设定列头的宽度可以自由调整
DataGridView1.ColumnHeadersHeightSizeMode=
    DataGridViewColumnHeadersHeightSizeMode.AutoSize;

// 设定行头的宽度可以自由调整
DataGridView1.RowHeadersWidthSizeMode=
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;

4) 随时自动调整
a
, 临时的,让列宽自动调整,这和指定AutoSizeColumnsMode属性一样。
[VB.NET]
'
DataGridView1 的所有列宽自动调整一下。
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)

' DataGridView1 的第一列的列宽自动调整一下。
DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells)

[C#]
// DataGridView1 的所有列宽自动调整一下。
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

// DataGridView1 的第一列的列宽自动调整一下。
DataGridView1.AutoResizeColumn(0,DataGridViewAutoSizeColumnMode.AllCells);
上面调用的AutoResizeColumns AutoResizeColumn 当指定的是DataGridViewAutoSizeColumnMode.AllCells 的时候, 参数可以省略。即:
DataGridView1.AutoResizeColumn(0)
DataGridView1.AutoResizeColumns()

b,临时的,让行高自动调整
[VB.NET]
'
DataGridView1 的所有行高自动调整一下。
DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells)

' DataGridView1 的第一行的行高自动调整一下。
DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells)

[C#]
// DataGridView1 的所有行高自动调整一下。
DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);

// DataGridView1 的第一行的行高自动调整一下。
DataGridView1.AutoResizeRow(0,DataGridViewAutoSizeRowMode.AllCells);
上面调用的 AutoResizeRows AutoResizeRow 当指定的是DataGridViewAutoSizeRowMode.AllCells 的时候, 参数可以省略。即:DataGridView1.AutoResizeRow(0) DataGridView1.AutoResizeRows()

c,临时的,让行头和列头自动调整
关于性能:
通过 AutoSizeColumnsMode 或者AutoSizeRowsMode 属性所指定的单元格进行自动调整时,如果调整次数过于多那么将可能导致性能下降,尤其是在行和列数比较多的情况下。在这时用 DisplayedCells 代替 AllCells 能减少非所见的单元格的调整,从而提高性能。
[VB.NET]
'
列头高度自动调整
DataGridView1.AutoResizeColumnHeadersHeight()

' 行头宽度自动调整
DataGridView1.AutoResizeRowHeadersWidth( _
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)

[C#]
// 列头高度自动调整
DataGridView1.AutoResizeColumnHeadersHeight();

// 行头宽度自动调整
DataGridView1.AutoResizeRowHeadersWidth(
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值