Rumah pembangunan bahagian belakang Tutorial C#.Net C#中对DatagridView部分常用操作

C#中对DatagridView部分常用操作

Dec 21, 2016 pm 02:50 PM

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; 

 以上就是C#中对DatagridView部分常用操作的内容,更多相关内容请关注PHP中文网(www.php.cn)! 


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Direktori Aktif dengan C# Direktori Aktif dengan C# Sep 03, 2024 pm 03:33 PM

Panduan untuk Active Directory dengan C#. Di sini kita membincangkan pengenalan dan cara Active Directory berfungsi dalam C# bersama-sama dengan sintaks dan contoh.

C# Serialisasi C# Serialisasi Sep 03, 2024 pm 03:30 PM

Panduan untuk Pensirian C#. Di sini kita membincangkan pengenalan, langkah-langkah objek siri C#, kerja, dan contoh masing-masing.

Penjana Nombor Rawak dalam C# Penjana Nombor Rawak dalam C# Sep 03, 2024 pm 03:34 PM

Panduan untuk Penjana Nombor Rawak dalam C#. Di sini kita membincangkan cara Penjana Nombor Rawak berfungsi, konsep nombor pseudo-rawak dan selamat.

Paparan Grid Data C# Paparan Grid Data C# Sep 03, 2024 pm 03:32 PM

Panduan untuk Paparan Grid Data C#. Di sini kita membincangkan contoh cara paparan grid data boleh dimuatkan dan dieksport daripada pangkalan data SQL atau fail excel.

Corak dalam C# Corak dalam C# Sep 03, 2024 pm 03:33 PM

Panduan kepada Corak dalam C#. Di sini kita membincangkan pengenalan dan 3 jenis Corak teratas dalam C# bersama-sama dengan contoh dan pelaksanaan kodnya.

Nombor Perdana dalam C# Nombor Perdana dalam C# Sep 03, 2024 pm 03:35 PM

Panduan Nombor Perdana dalam C#. Di sini kita membincangkan pengenalan dan contoh nombor perdana dalam c# bersama dengan pelaksanaan kod.

Faktorial dalam C# Faktorial dalam C# Sep 03, 2024 pm 03:34 PM

Panduan untuk Faktorial dalam C#. Di sini kita membincangkan pengenalan kepada faktorial dalam c# bersama-sama dengan contoh dan pelaksanaan kod yang berbeza.

Perbezaan antara multithreading dan asynchronous C# Perbezaan antara multithreading dan asynchronous C# Apr 03, 2025 pm 02:57 PM

Perbezaan antara multithreading dan asynchronous adalah bahawa multithreading melaksanakan pelbagai benang pada masa yang sama, sementara secara tidak sengaja melakukan operasi tanpa menyekat benang semasa. Multithreading digunakan untuk tugas-tugas yang berintensifkan, sementara asynchronously digunakan untuk interaksi pengguna. Kelebihan multi-threading adalah untuk meningkatkan prestasi pengkomputeran, sementara kelebihan asynchronous adalah untuk tidak menghalang benang UI. Memilih multithreading atau asynchronous bergantung kepada sifat tugas: tugas-tugas intensif pengiraan menggunakan multithreading, tugas yang berinteraksi dengan sumber luaran dan perlu menyimpan respons UI menggunakan asynchronous.

See all articles