C# での DatagridView での一般的な操作

黄舟
リリース: 2016-12-21 14:50:41
オリジナル
1703 人が閲覧しました

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);


//列幅を定義します

this.dataGridView1.Columns= 80;

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

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

Windows フォームのセルと列をカスタマイズする

Windows フォーム DataGridView セルの Behavior および

AppearanceHost コントロールを拡張する


DataGridViewTextBoxCell クラスを継承する新しいものを生成するCell クラスを継承し、DataGridViewColumn を継承して新しい Column クラスを生成し、新しい Cell クラスとして

CellTemplate を指定します。新しく生成された列を DataGridView に追加できます。


2. 列幅に自動的に適応します

Windows フォーム DataGridView コントロールのコンテンツに合わせてプログラム的にセルのサイズを変更します。

DataGridView.AutoSizeColumns(DataGridViewAutoSizeColumnCriteria.HeaderAndDisplayedRows); dView.AutoSizeColumn(DataGridViewAutoSizeColumnCriteria.HeaderOnly, 2, false);

DataGridViewAutoSizeRowCriteria.Columns,2, false);

3.バインドされたオブジェクトと表示オブジェクト


Windows フォーム DataGridView コントロールにオブジェクトをバインドする


4. 表の線のスタイルを変更できます

Windows フォーム DataGridView コントロールの境界線とグリッド線のスタイルを変更します

this.dataGridView1.GridColor = Color.BlueViolet ;

this.dataGridView1.BorderStyle = BorderStyle.Fixed3D;

this.dataGridView1.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle;

this.dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle .Single;


5. 列を表示するかどうかを動的に変更し、列の表示順序を動的に変更します


Windows フォーム DataGridView ControlSamples の列の順序を変更します:

customersDataGridView.Columns["CustomerID"]。表示 = false;

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

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

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


ウィンドウのセルに画像を表示できますフォーム DataGridView ControlSamples:

アイコン TreeIcon = new Icon(this.GetType(), "tree.ico");

DataGridViewImageColumn iconColumn = new DataGridViewImageColumn ();

iconColumn.Image =treeIcon.ToBitmap(); =

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

dataGridView1.Columns.Insert(2, iconColumn);


Windows フォーム DataGridView コントロール サンプルのデータをフォーマットします。

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

this.dataGridView1.Columns["ShipDate"].DefaultCellStyle.Format = "d"; NullValue = "エントリなし ";

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

DefaultCellStyle.Alignment =DataGridViewContentAlignment.MiddleRight;

8 、スクロールドラッグ列で


Windows フォーム DataGridView ControlSamples の列を固定します:

指定された列と前の列を修正します this.dataGridView1.Columns["AddToCartButton"]

Frozen = true;


9。 Windows フォーム DataGridView コントロールの行、

、列のサンプル:


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、大データ量表示用仮想モード


Windows Forms DataGridView コントロールに仮想モードを実装する


12、設定指定の列のみ读


列を作成するWindows フォームでDataGridView コントロール Read-OnlySamples:

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


13、自動生成された列を移す


Windows フォーム DataGridView コントロールから自動生成された列を削除するサンプル:

dataGridView1.AutoGenerateColumns

= true;dataGridView1.DataSource

= 1.列.削除 (「FAX」 "); 

または:dataGridView1.Columns["CustomerID"].Visible = false; 

14、自定义


选择モード


Windows フォームの選択モードを設定する DataGridView ControlSample:

this.dataGridView1.SelectionMode

= DataGridViewSelectionMode.FullRowSelect; 

this.dataGridView1.MultiSelect = false; 


15、自定光标入单元格かどうか编辑モード(编辑モード)


WindowsフォームDataGridViewの編集モードを指定する

Controlthis.dataGridView1.EditMode

= EditMode.EditOnEnter; 


16、新行指定默认值


Windows の新しい行のデフォルト値を指定する

Forms DataGridView ControlSample:

private void dataGridView1_DefaultValuesNeeded(object sender,

System.Windows.Forms .DataGridViewRowEventArgs e){

e.Row.Cells["地域"].Value = "WA"; 

e.Row.Cells["都市"].Value = "レドモンド"; 

e.Row.Cells["郵便番号"].Value = "98052-6399"; 

e.Row.Cells["地域"].Value = "NA"; 

e.Row.Cells["国"].Value = "米国"; 

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

}


17、データ验证


Windows フォーム DataGridView ControlSamples でデータを検証する:

private void dataGridView1_CellValidating

(object sender,DataGridViewCellValidatingEventArgs e){

// 空の文字列を禁止することで CompanyName エントリを検証します。 

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

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

dataGridView1.Rows[e.RowIndex]. ErrorText

="会社名を空にすることはできません"; 

e.Cancel = true; 

}

}

}

18、データセット内へのデータ提交


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
myrow[j] = Convert.ToString(dataGridView1.Rows[i].Cells[j].Value); 

}

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

}

}

catch (Exception){

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

戻る; 

}

以上は C# 中对DatagridView 部分で通常使用される操作の内容であり、より多くの関連内容请关注 PHP中文网(www.php.cn)です!

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート