解析.Net基礎(chǔ):C#中對DatagridView部分常用操作_.Net教程
推薦:解讀.Net基礎(chǔ):學(xué)習(xí)反射中的動態(tài)創(chuàng)建對象Assembly的CreateInstance有三個重載,第一個參數(shù)需要是一個字符串表示的完整的類名。第二個參數(shù)是一個bool類型,如果為true,表示對第一個參數(shù)不區(qū)分大小寫。 第三個: 影響執(zhí)行搜索的方式的位屏蔽。此值是 System.Reflection.BindingFlags 中的位標志的組
0(最基本的技巧)、獲取某列中的某行(某單元格)中的內(nèi)容
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、自動適應(yīng)列寬
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、可以改變表格線條風(fēng)格
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、動態(tài)改變列是否顯示,和動態(tài)改變列的顯示順序
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、格式化顯示內(nèi)容:
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、在拖動列的滾動條時可以將指定的列凍結(jié)
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、顯示錄入時出現(xiàn)的錯誤信息
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、大數(shù)據(jù)量顯示采用Virtual Mode
Implement Virtual Mode in the Windows Forms DataGridView Control
12、設(shè)置指定的列只讀
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、自定義設(shè)定光標進入單元格是否編輯模式(編輯模式)
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、數(shù)據(jù)驗證
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、數(shù)據(jù)提交到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;
}
分享:談如何使用 Lambda 表達式做抽象代表Lambda表達比代表定義和帶外方法定義的結(jié)合更清楚,且相關(guān)的額外工作只需要滿足語言定義即可。不過,它也有一些不足之處。如果某個方法的參數(shù)包含System.Delegate 這樣的抽象類型,用lambda表達式介紹特殊的問題:C#編譯器不能將lambda表達式轉(zhuǎn)換成還未明確
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-解析.Net基礎(chǔ):C#中對DatagridView部分常用操作
。