当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .Net基础:C#中对DatagridView部分常用操作

ASP.NET
Asp.net 时间操作基类(支持短日期,长日期,时间差)
asp.net 获取机器硬件信息(cpu频率、磁盘可用空间、内存容量等)
asp.net 数据库备份还原(sqlserver+access)
Asp.Net 数据操作类(附通用数据基类)
Asp.net 弹出对话框基类(输出alet警告框)
Asp.net 文件上传类(取得文件后缀名,保存文件,加入文字水印)
Asp.net Socket客户端(远程发送和接收数据)
Asp.net 字符串操作基类(安全,替换,分解等)
Asp.Net数据输出到EXCEL表格中
asp.net Gridview里添加汇总行
asp.net UpdatePanel的简单用法
asp.net ajaxControlToolkit FilteredTextBoxExtender的简单用法
this connector is disabled错误的解决方法
sql事务应用积累
asp.net Page.Controls对象(找到所有服务器控件)
在asp.NET中字符串替换的五种方法
ASP.NET缓存方法分析和实践示例代码
asp.net 在DNN模块开发中遇到的resx怪问题
ASP.NET State service状态服务的问题解决方法
asp.net 结合mysql存储过程进行分页代码

ASP.NET 中的 .Net基础:C#中对DatagridView部分常用操作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 154 ::
收藏到网摘: n/a

0(最基本的技巧)、获取某列中的某行(某单元格)中的内容

this.currentposition = this.dataGridView1.BindingContext

[this.dataGridView1.DataSource, this.dataGridView1.DataMember].Position;

bookContent = this.database.dataSet.Tables[0].Rows

[this.currentposition][21].ToString().Trim();

MessageBox.Show(bookContent);


1、自定义列


//定义列宽

this.dataGridView1.Columns[0].Width = 80;

this.dataGridView1.Columns[1].Width = 80;

this.dataGridView1.Columns[2].Width = 180;

this.dataGridView1.Columns[3].Width = 120;

this.dataGridView1.Columns[4].Width = 120;

Customize Cells and Columns in the Windows Forms

DataGridView Control by Extending TheirBehavior and

AppearanceHost Controls in Windows Forms DataGridView Cells


继承 DataGridViewTextBoxCell 类生成新的Cell类,然后再继承 DataGridViewColumn 生成新的Column类,并指定

CellTemplate为新的Cell类。新生成的Column便可以增加到DataGridView中去。


2、自动适应列宽


Programmatically Resize Cells to Fit Content in

the Windows Forms DataGridView ControlSamples:

DataGridView.AutoSizeColumns(DataGridViewAutoSizeColumnCriteria.HeaderAndDisplayedRows);

DataGridView.AutoSizeColumn(DataGridViewAutoSizeColumnCriteria.HeaderOnly,2, false);

DataGridView.AutoSizeRow(DataGridViewAutoSizeRowCriteria.Columns,2, false);

DataGridView.AutoSizeRows

(DataGridViewAutoSizeRowCriteria.HeaderAndColumns,0, dataGridView1.Rows.Count, false);


3、可以绑定并显示对象


Bind Objects to Windows Forms DataGridView Controls


4、可以改变表格线条风格

 

Change the Border and Gridline Styles in

the Windows Forms DataGridView ControlSamples:

this.dataGridView1.GridColor = Color.BlueViolet;

this.dataGridView1.BorderStyle = BorderStyle.Fixed3D;

this.dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None;

this.dataGridView1.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;

this.dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;


5、动态改变列是否显示,和动态改变列的显示顺序


Change the Order of the Columns in the Windows Forms DataGridView ControlSamples:

customersDataGridView.Columns["CustomerID"].Visible = false;

customersDataGridView.Columns["ContactName"].DisplayIndex = 0;

customersDataGridView.Columns["ContactTitle"].DisplayIndex = 1;

customersDataGridView.Columns["City"].DisplayIndex = 2;

customersDataGridView.Columns["Country"].DisplayIndex = 3;

customersDataGridView.Columns["CompanyName"].DisplayIndex = 4;

6、可以在列中显示图像

Display Images in Cells of the Windows Forms DataGridView ControlSamples:

Icon treeIcon = new Icon(this.GetType(), "tree.ico");

DataGridViewImageColumn iconColumn = new DataGridViewImageColumn ();

iconColumn.Image = treeIcon.ToBitmap();iconColumn.Name =

"Tree";iconColumn.HeaderText = "Nice tree";

dataGridView1.Columns.Insert(2, iconColumn);

7、格式化显示内容:

Format Data in the Windows Forms DataGridView ControlSamples:

this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c";

this.dataGridView1.Columns["ShipDate"].DefaultCellStyle.Format = "d";

this.dataGridView1.DefaultCellStyle.NullValue = "no entry";

this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewWrapMode.Wrap;

this.dataGridView1.Columns["CustomerName"].

DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleRight;

8、在拖动列的滚动条时可以将指定的列冻结

Freeze Columns in the Windows Forms DataGridView ControlSamples:

将指定列及以前的列固定不动this.dataGridView1.Columns["AddToCartButton"].

Frozen = true;

9、获取选择的单元格,行,列

Get the Selected Cells, Rows,

and Columns in the Windows Forms DataGridView ControlSamples:

10、显示录入时出现的错误信息

Handle Errors that Occur During Data Entry in the Windows

Forms DataGridView ControlSamples:

private void dataGridView1_DataError

(object sender,DataGridViewDataErrorEventArgs e){

// If the data source raises an exception when a cell value is

// commited, display an error message.

if

(e.Exception != null &&e.Context == DataGridViewDataErrorContext.Commit){

MessageBox.Show("CustomerID value must be unique.");

}

}

11、大数据量显示采用Virtual Mode

Implement Virtual Mode in the Windows Forms DataGridView Control

12、设置指定的列只读

Make Columns in the Windows Forms DataGridView Control Read-OnlySamples:

dataGridView1.Columns["CompanyName"].ReadOnly = true;

13、移去自动生成的列

Remove Autogenerated Columns from a Windows Forms DataGridView ControlSample:

dataGridView1.AutoGenerateColumns

= true;dataGridView1.DataSource

= customerDataSet;dataGridView1.Columns.Remove ("Fax");

或:dataGridView1.Columns["CustomerID"].Visible = false;

 

14、自定义


选择模式


Set the Selection Mode of the Windows Forms DataGridView ControlSample:

this.dataGridView1.SelectionMode

= DataGridViewSelectionMode.FullRowSelect;

this.dataGridView1.MultiSelect = false;


15、自定义设定光标进入单元格是否编辑模式(编辑模式)


Specify the Edit Mode for the Windows Forms DataGridView

Controlthis.dataGridView1.EditMode

= DataGridViewEditMode.EditOnEnter;


16、新行指定默认值


Specify Default Values for New Rows in the Windows

Forms DataGridView ControlSample:

private void dataGridView1_DefaultValuesNeeded(object sender,

System.Windows.Forms.DataGridViewRowEventArgs e){

e.Row.Cells["Region"].Value = "WA";

e.Row.Cells["City"].Value = "Redmond";

e.Row.Cells["PostalCode"].Value = "98052-6399";

e.Row.Cells["Region"].Value = "NA";

e.Row.Cells["Country"].Value = "USA";

e.Row.Cells["CustomerID"].Value = NewCustomerId();

}


17、数据验证


Validate Data in the Windows Forms DataGridView ControlSamples:

private void dataGridView1_CellValidating

(object sender,DataGridViewCellValidatingEventArgs e){

// Validate the CompanyName entry by disallowing empty strings.

if (dataGridView1.Columns[e.ColumnIndex].Name == "CompanyName"){

if (e.FormattedValue.ToString() == String.Empty){

dataGridView1.Rows[e.RowIndex].ErrorText

="Company Name must not be empty";

e.Cancel = true;

}

}

}


18、数据提交到dataset中


DataSet ds = new DataSet("MyDataSet");

ds.Tables[biaom.Trim()].Rows.Clear();

try{for (int i = 0; i < dataGridView1.Rows.Count - 1; i++){

DataTable dt = ds.Tables[biaom.Trim()];

DataRow myrow = ds.Tables[biaom.Trim()].NewRow();

for (int j = 0; j < dataGridView1.Columns.Count; j++){

myrow[j] = Convert.ToString(dataGridView1.Rows[i].Cells[j].Value);

}

ds.Tables[biaom.Trim()].Rows.Add(myrow);

}

}

catch (Exception){

MessageBox.Show("输入类型错误!");

return;

}