c#winform DataGridViewのいくつかの操作について


フィールド名の設定
フィールド値の設定
セル表示Errorアイコンの設定
現在のセルの設定
現在のセルの内容を取得
現在のセルの列Indexを取得
現在のセルの行Indexを取得
次の行
1行上へ
DataGridView 1を読み取り専用にしない
DataGridView 1を読み取り専用に設定
DataGridView 1の2列目のセル全体を読み取り専用にして変色するように設定します.
DataGridView 1の3行目のセルを読取り専用にして変色する
DataGridView 1の[0,0]セルを読み取り専用に設定して変色
DataGridView 1の2列目のセル全体を読み取り専用にして変色するように設定します.
DataGridView 1の3行目のセルを読取り専用にして変色する
DataGridView 1の[0,0]セルを読み取り専用に設定して変色
ユーザーがデータGridView 1に新しいローを手動で追加できないように設定
ユーザーがデータGridView 1に新しいローを手動で追加できるように設定
DataGridView 1の行削除を禁止します.
DataGridView 1の行削除を許可します.
DataGridView 1の最初の列の非表示
DataGridView 1の最初の行の非表示
DataGridView 1の最初の列の表示
DataGridView 1の最初の行の表示
列ヘッダーの非表示
行ヘッダーの非表示
列ヘッダー表示
行ヘッダー表示
Column 1という名前の列を削除
4番目の列を削除
3行目の削除
DataGridView 1のすべての列の列幅を変更できません.
DataGridView 1のすべてのローのローの高さを変更できません.
DataGridView 1のすべての列の列幅を変更できます.
DataGridView 1のすべてのローのローの高さを変更できます.
DataGridView 1の最初の列の列幅を変更できません.
DataGridView 1の最初の列の行幅の変更をユーザーに禁止
第1列の最小列幅を100に設定
1行目の最小行の高さを50に設定
列ヘッダーの高さの変更をユーザーに禁止
ユーザーが行頭の幅を変更することを禁止
ヘッダーとすべてのセルを含む列幅の自動調整を設定
Headerとすべてのセルを含む行の高さの自動調整を設定します.
第1列自動調整
列ヘッダーの幅を設定すると自動的に調整できます
行頭の幅を設定すると自動的に調整できます
DataGridView 1のすべての列幅を自動的に調整します.
DataGridView 1の3番目の列の列幅を自動的に調整します.
DataGridView 1のすべての行の高さを自動的に調整します.
DataGridView 1の1行目の行の高さを自動的に調整します.
ヘッド高さ自動調整
行頭幅自動調整
DataGridView 1の左側2列固定
DataGridView 1の上3行固定
DataGridView 1の最初のカラムヘッダの内容を変更
DataGridView 1の最初の行ヘッダーの内容を変更
DataGridView 1の左上ヘッダユニットの内容を変更
DataGridView 1の2番目のカラムヘッダの内容を変更
現在のセルが選択されているかどうかの判断
クリップボードの内容を取得し、行ごとに分割
列ヘッダーかどうか
Tabでデータを分割する
行ヘッダーの設定
セルの内容の設定
DataGridViewの行インデックス+1
セルのTooltip内容を設定
列ヘッダーのセルのTooltip内容の設定
行ヘッダーのセルのTooltip内容を設定
DataGridViewのContextMenuStrip設定
列のContextMenuStrip設定
カラムヘッダのContextMenuStrip設定
行のContextMenuStrip設定
セルのContextMenuStrip設定
カラムヘッダのContextMenuStrip設定
行ヘッダーのContextMenuStrip設定
セル値が整数の場合
「Column 1」列がBool型でTrueの場合、そのContextMenuStripを設定する
セルがColumn 1列のセルである場合
セル値を大文字に変更
このFormatを適用し、Formatを終了します.
セルがColumn 2の場合
セル値を大文字にする
解析完了
セルのデフォルト値の設定
セル値が負の整数の場合、Errorアイコンが表示されます.
行のエラーメッセージの設定
検証にパスすると、ローのエラーメッセージが空になります.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;



using System.Data.OracleClient;

   
using System.IO;  
using System.Data.OleDb; 

namespace TestMouseMove
{
	public partial class Form3 : Form
	{
		public Form3()
		{
			InitializeComponent();
			dgvLoad();
		}

		public void dgvLoad()
		{
			this.DataGridView1.Columns[0].HeaderCell.Value = "  ";
			this.DataGridView1.Columns[1].HeaderCell.Value = "  2";
			this.DataGridView1.Columns[2].HeaderCell.Value = "  3";
			this.DataGridView1.Columns[3].HeaderCell.Value = "  4";
			this.DataGridView1.Columns[4].HeaderCell.Value = "  5";

			this.DataGridView1.Rows.Add("    ", "1 2 ", "1 3 ", "1 4 ", "1 5 ");
			this.DataGridView1.Rows.Add("    ", "2 2 aaaa", "2 3 ", "2 4 ", "2 5 ");
			this.DataGridView1.Rows.Add("    ", "3 2 ", "3 3 ", "3 4 ", "3 5 ");
			this.DataGridView1.Rows.Add("    ", "4 2 ", "4 3 ", "4 4 ", "4 5 ");
			this.DataGridView1.Rows.Add("    ", "5 2 ", "5 3 ", "5 4 ", "5 5 ");

			DataGridView1.ShowCellErrors = true;
			//   (0, 0)        Error  
			DataGridView1[3, 3].ErrorText = "           ,                ";

			//   4 (Index=3)     Error  
			//DataGridView1.Rows[0].ErrorText = "      。";
		}

		private void button1_Click(object sender, EventArgs e)
		{
			//    (1, 2)       
			DataGridView1.CurrentCell = DataGridView1[1, 2];			
		}

		private void button2_Click(object sender, EventArgs e)
		{
			//          
			MessageBox.Show(DataGridView1.CurrentCell.Value.ToString());
			//           Index
			MessageBox.Show(DataGridView1.CurrentCell.ColumnIndex.ToString());
			//           Index
			MessageBox.Show(DataGridView1.CurrentCell.RowIndex.ToString());
		}

		/// <summary>
		///     
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void button3_Click(object sender, EventArgs e)
		{
			int row = this.DataGridView1.CurrentRow.Index + 1;
			if (row > this.DataGridView1.RowCount - 1)
				row = 0;
			this.DataGridView1.CurrentCell = this.DataGridView1[0, row];
		}

		/// <summary>
		///     
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void button4_Click(object sender, EventArgs e)
		{
			int row = this.DataGridView1.CurrentRow.Index - 1;
			if (row < 0)
				row = this.DataGridView1.RowCount - 1;
			this.DataGridView1.CurrentCell = this.DataGridView1[0, row];
		}

		private void button5_Click(object sender, EventArgs e)
		{
			if (DataGridView1.ReadOnly)
			{
				//    DataGridView1    
				DataGridView1.ReadOnly = false;
				DataGridView1.DefaultCellStyle.BackColor = Color.White;
			}
			else
			{
				//    DataGridView1    
				DataGridView1.ReadOnly = true;
				DataGridView1.DefaultCellStyle.BackColor = Color.Gainsboro;
			}
		}

		private void button6_Click(object sender, EventArgs e)
		{
			if (DataGridView1.Columns[1].ReadOnly)
			{
				//    DataGridView1   2            
				DataGridView1.Columns[1].ReadOnly = false;
				DataGridView1.Columns[1].DefaultCellStyle.BackColor = Color.White;
				//    DataGridView1   3            
				DataGridView1.Rows[2].ReadOnly = false;
				DataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.White;
				//    DataGridView1  [0,0]         
				DataGridView1[0, 0].ReadOnly = false;
				DataGridView1.Rows[0].Cells[0].Style.BackColor = Color.White; 
			}
			else
			{
				//    DataGridView1   2            
				DataGridView1.Columns[1].ReadOnly = true;
				DataGridView1.Columns[1].DefaultCellStyle.BackColor = Color.Gainsboro;
				//    DataGridView1   3            
				DataGridView1.Rows[2].ReadOnly = true;
				DataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.Gainsboro;
				//    DataGridView1  [0,0]         
				DataGridView1[0, 0].ReadOnly = true;
				DataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Gainsboro; 
			}
		}

		private void button7_Click(object sender, EventArgs e)
		{
			if (DataGridView1.EditMode.Equals(DataGridViewEditMode.EditOnEnter))
			{
				DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
				DataGridView1.DefaultCellStyle.BackColor = Color.Red;
			}
			else
			{
				DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
				DataGridView1.DefaultCellStyle.BackColor = Color.White;
			}
		}

		private void button8_Click(object sender, EventArgs e)
		{
			DataGridView1.Rows[DataGridView1.CurrentCell.RowIndex].Cells[DataGridView1.CurrentCell.ColumnIndex].Style.BackColor = Color.White;
			DataGridView1.BeginEdit(true);
		}

		private void button9_Click(object sender, EventArgs e)
		{
			if (DataGridView1.AllowUserToAddRows)
			{
				//           DataGridView1     
				DataGridView1.AllowUserToAddRows = false;
			}
			else
			{
				//           DataGridView1     
				DataGridView1.AllowUserToAddRows = true;
			}
		}

		private void button10_Click(object sender, EventArgs e)
		{
			if (DataGridView1.AllowUserToDeleteRows)
			{
				//   DataGridView1      。
				DataGridView1.AllowUserToDeleteRows = false;
				DataGridView1.DefaultCellStyle.BackColor = Color.Wheat;
			}
			else
			{
				//   DataGridView1      。
				DataGridView1.AllowUserToDeleteRows = true;
				DataGridView1.DefaultCellStyle.BackColor = Color.White;
			}
		}

		private void button11_Click(object sender, EventArgs e)
		{
			if (DataGridView1.Columns[0].Visible)
			{
				// DataGridView1      
				DataGridView1.Columns[0].Visible = false;
				// DataGridView1      
				DataGridView1.Rows[0].Visible = false;
			}
			else
			{
				// DataGridView1      
				DataGridView1.Columns[0].Visible = true;
				// DataGridView1      
				DataGridView1.Rows[0].Visible = true;
			}
		}

		private void button12_Click(object sender, EventArgs e)
		{
			if (DataGridView1.ColumnHeadersVisible)
			{
				//     
				DataGridView1.ColumnHeadersVisible = false;
				//     
				DataGridView1.RowHeadersVisible = false;
			}
			else
			{
				//     
				DataGridView1.ColumnHeadersVisible = true;
				//     
				DataGridView1.RowHeadersVisible = true;
			}
		}

		private void button13_Click(object sender, EventArgs e)
		{
			//     "Column1"  
			DataGridView1.Columns.Remove("Column1");
			//      
			DataGridView1.Columns.RemoveAt(2);
			//      
			DataGridView1.Rows.RemoveAt(2);
		}

		private void button14_Click(object sender, EventArgs e)
		{
			foreach (DataGridViewRow r in DataGridView1.SelectedRows)
			{
				if (!r.IsNewRow)
				{
					DataGridView1.Rows.Remove(r);
				}
			}
		}

		private void button15_Click(object sender, EventArgs e)
		{
			if (DataGridView1.AllowUserToResizeColumns)
			{
				//       DataGridView1       
				DataGridView1.AllowUserToResizeColumns = false;
				//      DataGridView1       
				DataGridView1.AllowUserToResizeRows = false;
			}
			else
			{
				//       DataGridView1       
				DataGridView1.AllowUserToResizeColumns = true;
				//       DataGridView1       
				DataGridView1.AllowUserToResizeRows = true;
			}
		}

		private void button16_Click(object sender, EventArgs e)
		{
			//       DataGridView1       
			DataGridView1.Columns[0].Resizable = DataGridViewTriState.False;
			//       DataGridView1       
			DataGridView1.Rows[0].Resizable = DataGridViewTriState.False;
		}

		private void button17_Click(object sender, EventArgs e)
		{
			//             100
			DataGridView1.Columns[0].MinimumWidth = 200;
			//             50
			DataGridView1.Rows[0].MinimumHeight = 50;
		}

		private void button18_Click(object sender, EventArgs e)
		{
			//            
			DataGridView1.ColumnHeadersHeightSizeMode =
			DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
			//            
			DataGridView1.RowHeadersWidthSizeMode =
			DataGridViewRowHeadersWidthSizeMode.DisableResizing;
		}

		private void button19_Click(object sender, EventArgs e)
		{
			//     Header             
			DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
			//     Header             
			DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
		}

		private void button20_Click(object sender, EventArgs e)
		{
			//        
			DataGridView1.Columns[0].AutoSizeMode =
			DataGridViewAutoSizeColumnMode.DisplayedCells;
		}

		private void button21_Click(object sender, EventArgs e)
		{
			//              
			DataGridView1.ColumnHeadersHeightSizeMode =
			DataGridViewColumnHeadersHeightSizeMode.AutoSize;
			//              
			DataGridView1.RowHeadersWidthSizeMode =
			DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
		}

		private void button22_Click(object sender, EventArgs e)
		{
			//   DataGridView1            。
			DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
		}

		private void button23_Click(object sender, EventArgs e)
		{
			//   DataGridView1              。
			DataGridView1.AutoResizeColumn(2, DataGridViewAutoSizeColumnMode.AllCells);
		}

		private void button24_Click(object sender, EventArgs e)
		{
			//   DataGridView1            。
			DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);
			//  DataGridView1              。
			DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells);
		}

		private void button25_Click(object sender, EventArgs e)
		{
			//         
			DataGridView1.AutoResizeColumnHeadersHeight();
			//         
			DataGridView1.AutoResizeRowHeadersWidth(
			DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);
		}

		private void button26_Click(object sender, EventArgs e)
		{
			// DataGridView1   2   
			DataGridView1.Columns[1].Frozen = true;
			DataGridView1.Columns[2].Width = 800;
		}

		private void button27_Click(object sender, EventArgs e)
		{
			// DataGridView1   3   
			DataGridView1.Rows[2].Frozen = true;
			DataGridView1.Rows[3].Height = 500;
		}

		private void button28_Click(object sender, EventArgs e)
		{
			DataGridView1.AllowUserToOrderColumns = true;
		}

		private void button29_Click(object sender, EventArgs e)
		{
			//   DataGridView1        
			DataGridView1.Columns[0].HeaderCell.Value = "   ";
			//   DataGridView1        
			DataGridView1.Rows[0].HeaderCell.Value = "   ";
			//   DataGridView1         
			DataGridView1.TopLeftHeaderCell.Value = "  ";

			//   DataGridView1        
			DataGridView1.Columns[1].HeaderText = "   ";
		}

		private void button30_Click(object sender, EventArgs e)
		{
			Clipboard.SetDataObject(DataGridView1.GetClipboardContent());
		}

		private void button31_Click(object sender, EventArgs e)
		{
			//            
			if (DataGridView1.CurrentCell == null)
			{
				return;
			}
			int insertRowIndex = DataGridView1.CurrentCell.RowIndex;
			int insertColumnsIndex = DataGridView1.CurrentCell.ColumnIndex;
			//         ,     
			string pasteText = Clipboard.GetText();
			if (string.IsNullOrEmpty(pasteText))
			{
				return;
			}
			pasteText = pasteText.Replace(" ", " ");
			pasteText = pasteText.Replace(' ', ' ');
			pasteText.TrimEnd(new char[] { ' ' });
			string[] lines = pasteText.Split(' ');
			bool isHeader = false;
			foreach (string line in lines)
			{
				//      
				if (isHeader)
				{
					isHeader = false;
					continue;
				}
				//   Tab     
				string[] vals = line.Split(' ');
				DataGridViewRow row = DataGridView1.Rows[insertRowIndex];
				//     
				//row.HeaderCell.Value = vals[0];
				//        
				for (int i = 0; i < vals.Length; i++)
				{
					row.Cells[insertColumnsIndex].Value = vals[i];
				}
				// DataGridView    +1
				insertRowIndex++;
			}
		}

		private void button32_Click(object sender, EventArgs e)
		{
			//       ToolTip  
			DataGridView1[0, 0].ToolTipText = "           ";
			//          ToolTip  
			DataGridView1.Columns[0].ToolTipText = "        ";
			//          ToolTip  
			DataGridView1.Rows[0].HeaderCell.ToolTipText = "           ";

			DataGridView1.VirtualMode = false;
			DataGridView1.ShowCellToolTips = true;
			
		}

		private void DataGridView1_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArgs e)
		{
			MessageBox.Show(e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString());

		}

		private void button33_Click(object sender, EventArgs e)
		{
			// DataGridView   ContextMenuStrip   
			DataGridView1.ContextMenuStrip = this.ContextMenuStrip1;
			//    ContextMenuStrip   
			DataGridView1.Columns[0].ContextMenuStrip = this.ContextMenuStrip2;
			//     ContextMenuStrip   
			DataGridView1.Columns[0].HeaderCell.ContextMenuStrip = this.ContextMenuStrip2;
			//    ContextMenuStrip   
			DataGridView1.Rows[0].ContextMenuStrip = this.ContextMenuStrip3;
			//      ContextMenuStrip   
			DataGridView1[0, 0].ContextMenuStrip = this.ContextMenuStrip4;
		}

		private void DataGridView1_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;
			if (e.RowIndex < 0)
			{
				//    ContextMenuStrip  
				e.ContextMenuStrip = this.ContextMenuStrip1;
			}
			else if (e.ColumnIndex < 0)
			{
				//    ContextMenuStrip  
				e.ContextMenuStrip = this.ContextMenuStrip2;
			}
			else if (dgv[e.ColumnIndex, e.RowIndex].Value is int)
			{
				//           
				e.ContextMenuStrip = this.ContextMenuStrip3;
			}
		}

		private void DataGridView1_RowContextMenuStripNeeded(object sender, DataGridViewRowContextMenuStripNeededEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;
			//  "Column1"  Bool   True 、    ContextMenuStrip
			object boolVal = dgv["Column1", e.RowIndex].Value;
			Console.WriteLine(boolVal);
			if (boolVal is bool && (bool)boolVal)
			{
				e.ContextMenuStrip = this.ContextMenuStrip1;
			}
		}

		private void button34_Click(object sender, EventArgs e)
		{
			DataGridView1.BorderStyle = BorderStyle.None;
		}

		private void button35_Click(object sender, EventArgs e)
		{
			DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.SunkenVertical;
		}

		private void button36_Click(object sender, EventArgs e)
		{
			DataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Sunken;
		}

		private void button37_Click(object sender, EventArgs e)
		{
			DataGridView1.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
		}

		private void button38_Click(object sender, EventArgs e)
		{
			DataGridView1.GridColor = Color.Red;
		}

		private void button40_Click(object sender, EventArgs e)
		{
			//foreach (Control c in this.Controls)
			//{
			//    c.Dispose();    //   Panel     ,        Dispose 
			//}

			DataGridView1.Dispose();
			
			InitializeComponent();
			dgvLoad();
		}

		private void DataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;
			//       “Column1”     
			if (e.ColumnIndex < 0)
			{
				return;
			}
			if (dgv.Columns[e.ColumnIndex].Name == "Column1" && e.Value is string)
			{
				//          
				string str = e.Value.ToString();
				e.Value = str.ToUpper();
				//    Format,Format  。
				e.FormattingApplied = true;
			}
		}

		private void DataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;
			//     “Column2” 
			if (dgv.Columns[e.ColumnIndex].Name == "Column2" && e.Value is string)
			{
				//         
				e.Value = e.Value.ToString().ToUpper();
				//    
				e.ParsingApplied = true;
			}
		}

		private void DataGridView1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
		{
			//          
			e.Row.Cells["Column1"].Value = " ";
			e.Row.Cells["Column2"].Value = " ";
			e.Row.Cells["Column3"].Value = " ";
			e.Row.Cells["Column4"].Value = " ";
			e.Row.Cells["Column5"].Value = " ";
		}

		private void DataGridView1_CellErrorTextNeeded(object sender, DataGridViewCellErrorTextNeededEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;
			//          ,Error     。
			object cellVal = dgv[e.ColumnIndex, e.RowIndex].Value;
			if (cellVal is int && ((int)cellVal) < 0)
			{
				e.ErrorText = "       。";
			}
		}

		private void DataGridView1_RowErrorTextNeeded(object sender, DataGridViewRowErrorTextNeededEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;
			if (dgv["Column1", e.RowIndex].Value == DBNull.Value &&
			dgv["Column2", e.RowIndex].Value == DBNull.Value)
			{
				e.ErrorText =
				"Column1 Column2       。";
			}
		}

		private void DataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;

			if (dgv.Columns[e.ColumnIndex].Name == "Column4" && e.FormattedValue.ToString() == "")
			{
				//         
				dgv.Rows[e.RowIndex].ErrorText = "    。";
				//         ,          。
				//dgv.CancelEdit()
				//       
				e.Cancel = true;
			}
		}

		private void DataGridView1_CellValidated(object sender, DataGridViewCellEventArgs e)
		{
			DataGridView dgv = (DataGridView)sender;
			//      ,         
			dgv.Rows[e.RowIndex].ErrorText = null;
		}

		
	}
}

黒い髪:http://heisetoufa.iteye.com/