>  기사  >  백엔드 개발  >  C#의 DatagridView에 대한 몇 가지 일반적인 작업

C#의 DatagridView에 대한 몇 가지 일반적인 작업

黄舟
黄舟원래의
2016-12-21 14:50:411703검색

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; 

Windows Forms에서 셀 및 열 사용자 정의 

Behavior 및 

Windows Forms DataGridView 셀의 AppearanceHost 컨트롤을 확장하여 DataGridView 컨트롤 


继承 DataGridViewTextBoxCell 새로운 Cell类,然后再继承 DataGridViewColumn이 새로운 열을 생성하고

CellTemplate이 새로운 Cell类입니다. DataGridView中去。


2、自动适应列宽 




Windows Forms DataGridView ControlSamples의 콘텐츠에 맞게 프로그래밍 방식으로 셀 크기 조정: 

DataGridView.AutoSizeColumns(DataGridViewAutoSizeColumnCriteria.HeaderAndDisplayedR 아야 ); 

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

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

DataGridView.AutoSizeRows 

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


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; 
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、可以在列中显示图이미지 


Windows Forms DataGridView ControlSamples의 셀에 이미지 표시: 

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

DataGridViewImageColumn iconColumn = 새 DataGridViewImageColumn(); 

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

"나무";iconColumn.HeaderText = "멋진 나무"; 

dataGridView1.Columns.Insert(2, iconColumn); 


7、格式化显示内容: 


Windows Forms DataGridView ControlSamples의 데이터 형식 지정: 

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

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

this.dataGridView1.DefaultCellStyle.NullValue = "항목 없음"; 

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

this.dataGridView1.Columns["CustomerName"]. 

DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleRight; 


8、Windows Forms DataGridView ControlSamples에서 열 고정: 

将이전에 this.dataGridView1.Columns["AddToCartButton"]을 설정하지 않았습니다. 

겨울왕국 = 사실; 


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


Windows Forms DataGridView ControlSamples에서 선택한 셀, 행,

및 열 가져오기 : 


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


Windows에서 데이터 입력 중 발생하는 오류 처리 

Forms DataGridView ControlSamples: 

private void dataGridView1_DataError 

(object sender,DataGridViewDataErrorEventArgs e){ 

// 셀 값이 다음과 같을 때 데이터 소스에서 예외가 발생하는 경우

// 커밋하고 오류 메시지를 표시합니다. 

if 

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

MessageBox.Show("CustomerID 값은 고유해야 합니다."); 






11、大数据weight显示采用가상 모드 


Windows Forms DataGridView 컨트롤에서 가상 모드 구현


12、设置指定的列只读 


Windows Forms DataGridView 컨트롤에서 열을 읽기 전용으로 만들기샘플: 

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


13、移去自动生成列 


Windows Forms DataGridView ControlSample에서 자동 생성된 열 제거: 

dataGridView1.AutoGenerateColumns 

= true;dataGridView1.DataSource 

= customerDataSet;dataGridView1.Columns.Remove("팩스"); 

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

14、자정义 


选择模式 


Windows Forms DataGridView ControlSample의 선택 모드 설정: 

this.dataGridView1 .SelectionMode 

= DataGridViewSelectionMode.FullRowSelect; 

this.dataGridView1.MultiSelect = false;  Controlthis.dataGridView1.EditMode

= DataGridViewEditMode.EditOnEnter; 


16、新行指定默认值 


Windows에서 새 행에 대한 기본값 지정 

Forms DataGridView ControlSample: 

private void dataGridView1_DefaultValuesNeeded(개체 전송자,

System.Windows.Forms.DataGridViewRowEventArgs e){ 

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

e.Row.Cells["City"].Value = "레드먼드"; 

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

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

e.Row.Cells["국가"].Value = "미국"; 

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




17、数据验证 


Windows Forms DataGridView ControlSamples의 데이터 유효성 검사: 

private void dataGridView1_CellValidating 

(object sender,DataGridViewCellValidatingEventArgs e){ 

// 빈 문자열을 허용하지 않아 CompanyName 항목의 유효성을 검사합니다. 

if (dataGridView1.Columns[e.ColumnIndex].Name == "회사 이름"){ 

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

dataGridView1.Rows[e.RowIndex].ErrorText 

="회사 이름은 비워둘 수 없습니다."; 

e.취소 ​​= true; 







18、数据提交到dataset中 


DataSet ds = new DataSet(" 마이데이터세트"); 

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 ].값); 



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





catch(예외){ 

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

반품; 



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



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.