`

datagridview

c# 
阅读更多

转:http://blog.csdn.net/lenovouser/article/details/6000169

注意:DataGridView控件是从.NET Framework 2.0版本开始追加的。

介绍一下DataGridView列的宽度和行的高度,根据单元格或Header的内容(一般是内容全部被表示)自动调整的方法。

内容变更时自动调整

列的宽度自动调整

DataGridView列的宽度自动调整,可以使用DataGridView.AutoSizeColumnsMode属性实现。

下面的代码就是列的宽度根据Header和所有单元格的内容自动调整的。

[C#]

//根据Header和所有单元格的内容自动调整列的宽度 DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

DataGridViewAutoSizeColumnsMode枚举的成员如下所示(是从MSDN「DataGridViewAutoSizeColumnsMode 枚举」引用的)。

DataGridViewAutoSizeColumnsMode成员名称
说明
AllCells 列宽调整到适合列中所有单元格(包括标头单元格)的内容。
AllCellsExceptHeader 列宽调整到适合列中除标头单元格以外所有单元格内容。
ColumnHeader 列宽调整到适合列标头单元格的内容。
DisplayedCells 列宽调整到适合位于屏幕上当前显示的行中的列的所有单元格(包括标头单元格)的内容。
DisplayedCellsExceptHeader 列宽调整到适合位于屏幕上当前显示的列中的列的所有单元格(不包括标头单元格)的内容。
Fill 列宽调整到使所有列宽精确填充控件的显示区域,要求使用水平滚动的目的只是保持列宽大于DataGridViewColumn.MinimumWidth属性的值。相对列宽由相对 DataGridViewColumn.FillWeight属性值决定。
None 列宽不会自动调整。

行高的自动调整

DataGridView行的高度自动调整,可以使用DataGridView1.AutoSizeRowsMode属性实现。

[C#]

//根据Header和所有单元格的内容自动调整行的高度 DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

DataGridViewAutoSizeRowsMode枚举的成员如下所示(是从MSDN「DataGridViewAutoSizeRowsMode 枚举」引用的)。

DataGridViewAutoSizeRowsMode成员名称
说明
AllCells 将行高调整到适合行中所有单元格(包括标头单元格)的内容。
AllCellsExceptHeaders 将行高调整到适合行中所有单元格(不包括标头单元格)的内容。
AllHeaders 将行高调整到适合行标头的内容。
DisplayedCells 将行高调整到适合屏幕上当前显示的行中所有单元格(包括标头单元格)的内容。
DisplayedCellsExceptHeaders 将行高调整到适合屏幕上当前显示的行中所有单元格(不包括标头单元格)的内容。
DisplayedHeaders 将行高调整到适合屏幕上当前显示的行标头的内容。
None 行高不自动调整。

列Header的高度、行Header的宽度自动调整

列Header的高度自动调整,可以通过设定DataGridView对象ColumnHeadersHeightSizeMode属性为DataGridViewColumnHeadersHeightSizeMode.AutoSize实现。

行Header的宽度行自动调整,可以通过设定DataGridView对象RowHeadersWidthSizeMode属性为 DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders(根据所有行Header的内容自 动调整)或AutoSizeToDisplayedHeaders(根据当前显示的行Header内容自动调整)或 AutoSizeToFirstHeader(根据第一行Header的内容自动调整)来实现。

[C#]

//列Header的高度自动调整 DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; //行Header的宽度自动调整 DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;

关于优化

通过设定AutoSizeColumnsMode或AutoSizeRowsMode属性,列或行可以根据单元格的内容变更,自动调整,但是经常使用这种方法,运行速度就会低下。尤其当行或列数量比较多时,更为明显。

这时,可以替换AllCells而设定DisplayedCells,只对当前显示单元格的内容自动调整,这样就可以提高执行速度。

只有被指定的列自动调整

只有被指定列自动调整,可以使用指定列(DataGridViewColumn对象)的AutoSizeMode属性实现。使用方法和AutoSizeColumnsMode属性基本一样。

下面是对第一列的宽度自动调整的代码。

[C#]

//第一列的宽度自动调整 DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;

和AutoSizeColumnsMode属性不同,AutoSizeMode属性可以设定为NotSet。当设定为NotSet时,列的自动调整 的设定会继承DataGridView.AutoSizeColumnsMode属性的设定。AutoSizeMode属性设定为NotSet继承 AutoSizeColumnsMode属性时,所继承的设定可以使用 DataGridViewColumn.InheritedAutoSizeMode属性取得。

任意自动调整

列的宽度自动调整

对DataGridView内所有列只进行一次自动调整,可以使用DataGridView对象的AutoResizeColumns方法实现。 AutoResizeColumns方法和AutoSizeColumnsMode属性一样,根据 DataGridViewAutoSizeColumnsMode枚举值指定自动调整的方法。如果只对指定列自动调整时,可以使用 DataGridView对象的AutoResizeColumn方法。

[C#]

//DataGridView1所有列的宽度自动调整 DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); //DataGridView1第一列的宽度自动调整 DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells);

补充:上面的例子中使用AutoResizeColumns或AutoResizeColumn指定DataGridViewAutoSizeColumnMode.AllCells时,可以省去参数。

行的高度自动调整

和列的设定一样,使用AutoResizeRows方法只对指定行的高度进行自动调整。

[C#]

//DataGridView1所有行的高度自动调整 DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells); //DataGridView1第一行的高度自动调整 DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells);

补充:上面的例子中使用AutoResizeRows或AutoResizeRow指定DataGridViewAutoSizeRowMode.AllCells 时,可以省去参数。

列Header的高度或行Header和宽度自动调整

列Header的高度和行Header的宽度的自动调整,可以使用DataGridView.AutoResizeColumnHeadersHeight方法和AutoResizeRowHeadersWidth方法实现。

[C#]

//所有列Header的高度自动调整 DataGridView1.AutoResizeColumnHeadersHeight(); //行Header的宽度自动调整 DataGridView1.AutoResizeRowHeadersWidth( DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);
分享到:
评论

相关推荐

    vb.net DataGridView控件用法合集

    vb.net操作DataGridView控件的用法的集合,包括: 1. DataGridView当前的单元格属性取得、变更 2. DataGridView编辑属性 3. DataGridView最下面一列新追加行非表示 4. DataGridView判断当前选中行是否为新追加的...

    DataGridView 使用方法总结

    DataGridView控件用法合集 1. DataGridView当前的单元格属性取得、变更 2. DataGridView编辑属性 3. DataGridView最下面一列新追加行非表示 4. DataGridView判断当前选中行是否为新追加的行 5. DataGridView删除行...

    DataGridView多维表头的实现方法

    对于.NET 原本提供的DataGridView控件,制作成如下形式的表格是毫无压力的。 但是如果把表格改了一下,变成如下形式 传统的DataGridView就做不到了,如果扩展一下还是行的,有不少网友也扩展了DataGridView控件,...

    C#DataGridView中的常用技巧

    dbfC#DataGridView中的常用技巧 只列出技巧部分,后面会有补充 0(最基本的技巧). 获取某列中的某行(某单元格)中的内容 this.currentposition = this.dataGridView1.BindingContext [this.dataGridView1.DataSource,...

    DataGridView中数据存入数据库方法

    DataGridView 中数据存入数据库方法 在 .NET Framework 中,DataGridView 控件是数据显示和编辑的重要组件。然而,很多开发者在使用 DataGridView 时,经常遇到数据存储和更新的问题。下面,我们将讨论如何将 ...

    基于C#的WinForm中DataGridView控件操作汇总

    "基于C#的WinForm中DataGridView控件操作汇总" 在C#的WinForm中,DataGridView控件是一种常见的控件,用于显示和编辑表格数据。下面将对DataGridView控件的操作进行汇总。 一、单元格内容的操作 在DataGridView...

    C#DataGridView自定义控件的列,提供源代码!

    自定义 Windows 窗体 DataGridView 控件 现有的几种嵌套控件,但无时间控件类型,下载代码中就是嵌套了时间控件类。 System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms.DataGridView...

    在C#中使用控件DataGridView实现数据库增删改查

    在 C# 中使用控件 DataGridView 实现数据库增删改查 在 C# 中使用控件 DataGridView 实现数据库增删改查是指在 Windows 窗体应用程序中使用 DataGridView 控件来实现对数据库的增删改查操作。下面将详细介绍实现该...

    C#使用DataGridView显示Excel内容

    C#使用DataGridView绑定Excel,然后让用户选择Excel文件的工作表,然后点击DataGridView显示按钮就能绑定选定的工作表。 写这个主要是为了答疑CSDN论坛上一些朋友的疑问,他们想绑定Excel文件,而有不知道工作表的...

    DataGridView

    DataGridView合并单元格,合并表头

    C#DataGridView中DataGridViewCheckBox问题.doc

    C#DataGridView中DataGridViewCheckBox问题

    asp.net 通讯录 连接数据库 dataGridView数据的显示 dataGridView定位 dataGridView修改 删除

    连接数据库 dataGridView数据的显示 dataGridView定位 dataGridView修改 删除

    DataGridView修改后直接保存到数据库实例程序

    C#中DataGridView修改后直接保存到数据库实例程序,绝对可用,内附源码,有注释 主要代码: //单元格编辑结束后触发 private void dataGridView1_CellEndEdit_1(object sender, DataGridViewCellEventArgs e) {...

    DataGridView单元格合并和DataGridView二维表头

    实现了DataGridView单元格行合并和DataGridView二维表头的示例及源码

    Visual C++源代码 142 如何在DataGridView中添加数据列

    Visual C++源代码 142 如何在DataGridView中添加数据列Visual C++源代码 142 如何在DataGridView中添加数据列Visual C++源代码 142 如何在DataGridView中添加数据列Visual C++源代码 142 如何在DataGridView中添加...

    dataGridView

    1.visual studio 2005开发平台 2.使用C#语言开发 3.功能:使用datagridview

    c# DataGridView 导出数据到sql中出现错误“未将对象引用设置到对象实例中”

    DataGridView 导出数据到 SQL 中出现错误“未将对象引用设置到对象实例中” 在 C# 中,DataGridView 控件广泛应用于数据展示和编辑,但是在导出数据到 SQL 中时,常常会出现“未将对象引用设置到对象实例中”的错误...

    C# winfrom DataGridView 全选

    C# winfrom DataGridView 全选

    具有统计功能的DataGridView

    2、将SummaryDataGridView控件拖入WinForw窗口中,设置其各属性值(除Summary内容外,其它与DataGridView一致。一定要设置统计Row和统计ROW Header显示为true,才会显示统计行) 3、在属性中或用代码设置要统计...

Global site tag (gtag.js) - Google Analytics