[DataGridView]改行を含むセル値を、Excelに貼付できるようにする方法
DataGridViewにテキストを表示させているとき、Ctrl-C,VでデータをExcelへコピー&ペーストさせたい場合があります。 通常であれば特にプログラムを書かなくてもコピペは可能なのですが、コピー元となるDataGridViewのセル値に改行が含まれる場合は上手くいきません。 例えば、以下のようなデータがあった場合、Excelへコピペをすると… Excel上では、下記のようにコピー元にあった改行文字の単位で別のセルに値が入ってしまいます。 このような場合は、下記の対処方法をとると解決できます。 ※余談ですが、DataGridViewのセル内で改行を許可するには、下記のよう…
続きを読む
[C#]DataGridViewで選択行を画面に表示させる
以下のコードで、DataGridViewで選択されている行が画面の一番上の行に表示されます。 if ( DataGridView1.SelectedCells.Count > 0 ) { DataGridView1.FirstDisplayedScrollingRowIndex = DataGridView1.SelectedCells[0].RowIndex; }if ( DataGridView1.SelectedCells.Count > 0 ) { DataGridView1.FirstDisplayedScrolling…
続きを読む
[C#]DataGridViewでプログラムから列の追加/削除を行う
列の追加 DataGridViewColumn col; // Titleと表示名を指定して追加 dataGridView1.Columns.Add( "ColItemCode", "商品コード" ); // 列定義のオブジェクトを使って追加 col = new DataGridViewColumn(); col.Name = "ColItemName"; col.HeaderText = "商品名称"; dataGridView1.Columns.Add…
続きを読む
[C#]DataGridViewから,指定した条件に合うデータをLINQで取得する
DataGridViewコントロールに表示されているデータから,指定した条件に一致する行をLINQを使って取得するサンプルです。 ちょっと長いですが、1行で取得可能です。 string keyValue = "key1"; // 検索条件 DataGridViewRowCollection rowList = null; try { rowList = DataGridView1.Rows.Cast<DataGridViewRow>().Select( row => row.Cells[ "…
続きを読む
[C#]DataGridViewを指定した列でソート可能にする
以下のコードで、1列目の内容を元に昇順ソートが行えます。 降順にしたい場合は、第二引数をDescendingに変更します。 // 1列目データを元に昇順でソート DataGridView1.Sort( DataGridView1.Columns[0], ListSortDirection.Ascending );// 1列目データを元に昇順でソート DataGridView1.Sort( DataGridView1.Columns[0], ListSortDirection.Ascending ); また、逆に列のヘッダをクリックしてもソートできないようにさせる…
続きを読む
[C#]DataGridViewで、行ヘッダにある三角マーク”▲”を非表示にする
DataGridView使用時に行ヘッダを表示させると、選択行に三角のマークが表示されます。 表示専用のグリッドなどで、上記マークを非表示にしたい場合は以下の作業を行います。 DataGridViewが標準で使用しているRowHeaderCellクラスが表示させているので、まずはこれを継承したクラスを作成します。 最後の引数で指定されたpaintPartsを弄って、状態表示のアイコンを非表示にしています。 //——————————————— // 三角マーク非表示版の、DataGridView行ヘッダー //————-…
続きを読む