■フォームにパネルとボタンを貼り付けて以下のように変更してください
DataGridの内容をデータベースから取得して表示しています



public class Form1 : System.Windows.Forms.Form
{
	//ここにいろいろあって、

	CustomDataGrid DataGrid1= new CustomDataGrid();
	DataSet dataSet1 = new DataSet("dataSet1");

	DataTable dataTable1;

	//DB関連
	private string connectionString = "Provider=SQLOLEDB.1;Data Source=IPアドレス,ポート番号;Persist Security Info=True;User ID=ユーザーID;Password=パスワード;Initial Catalog=DB名;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False";
	private System.Data.OleDb.OleDbConnection oConn = new System.Data.OleDb.OleDbConnection();
	private System.Data.OleDb.OleDbDataAdapter dataAdapter1 = new System.Data.OleDb.OleDbDataAdapter();
	private System.Data.OleDb.OleDbCommand command1 = new System.Data.OleDb.OleDbCommand();


	//DataGridの作成と初期化、一度しか読み出せません
	private void GridInit()
	{
		DataGrid1.Font = this.Font;

		//ヘッダーに線を引く
		//DataGrid1.headerLine = true;

		//タブキーを押されたときに移動するコントロールの指定
		DataGrid1.NextControl = button1;
		panel1.BorderStyle = BorderStyle.FixedSingle;
		panel1.Controls.Add(DataGrid1);
		//Panelの中央に貼り付けます
		DataGrid1.Dock = DockStyle.Fill;
		//ボーダースタイルの変更
		DataGrid1.BorderStyle = BorderStyle.None;
		//行のヘッダーを消す
		//      DataGrid1.ColumnHeadersVisible = false;

		//新しい行の追加、編集、削除を禁止する
		DataGrid1.ReadOnly = true;
		//Captionの表示を消します
		DataGrid1.CaptionVisible = false;

		// テーブルのスタイルを作成
		DataGridTableStyle dgTableStyle = new DataGridTableStyle();
		dgTableStyle.MappingName = dataTable1.TableName;

		// *** 列ヘッダーによるソートを禁止 ***
		dgTableStyle.AllowSorting = false;
		//列のヘッダを消す
		dgTableStyle.RowHeadersVisible = false;

		//ラインカラーの変更
		dgTableStyle.GridLineColor = Color.Black;

		DataGrid1.TableStyles.Add(dgTableStyle);

		//1行おきに色をつける
		dgTableStyle.AlternatingBackColor = Color.FromArgb(220, 255, 255);

		DataColumn dataClumn1= dataTable1.Columns.Add();
		DataColumn dataClumn2 = dataTable1.Columns.Add();
		DataColumn dataClumn3 = dataTable1.Columns.Add();
		DataColumn dataClumn4 = dataTable1.Columns.Add();

		// テーブルの列のスタイルを作成
		ColorDataGridTextBoxColumn dgColumnStyle1 =new ColorDataGridTextBoxColumn();
		DataGridTextBoxColumn dgColumnStyle2 = new DataGridTextBoxColumn();
		DataGridTextBoxColumn dgColumnStyle3 =new DataGridTextBoxColumn();
		DataGridTextBoxColumn dgColumnStyle4 = new DataGridTextBoxColumn();

		//DBのフィールド名を設定する
		dgColumnStyle1.MappingName = "Field1"; //dataClumn1.ColumnName
		dgColumnStyle2.MappingName = "Field2"; //dataClumn2.ColumnName
		dgColumnStyle3.MappingName = "Field3"; //dataClumn3.ColumnName
		dgColumnStyle4.MappingName = dataClumn4.ColumnName;

		//列の幅を決定
		dgColumnStyle1.Width = 100;
		dgColumnStyle2.Width = 50;
		dgColumnStyle3.Width = 50;
		dgColumnStyle4.Width = 50;

		//列の右ぞろえ、中央ぞろえ、左ぞろえを設定
		dgColumnStyle1.Alignment = HorizontalAlignment.Center;
		dgColumnStyle2.Alignment = HorizontalAlignment.Left;
		dgColumnStyle3.Alignment = HorizontalAlignment.Right;
		dgColumnStyle4.Alignment = HorizontalAlignment.Right;

		//ヘッダーのテキストを設定
		dgColumnStyle1.HeaderText = "       いなば";	//2002ではバグがあり、Centerをスペースでごまかしています。
		dgColumnStyle2.HeaderText = "てすと";
		dgColumnStyle3.HeaderText = "こんにちは";
		dgColumnStyle4.HeaderText = "世界";

		//列のスタイルをテーブル・スタイルに登録
		dgTableStyle.GridColumnStyles.Add(dgColumnStyle1);
		dgTableStyle.GridColumnStyles.Add(dgColumnStyle2);
		dgTableStyle.GridColumnStyles.Add(dgColumnStyle3);
		dgTableStyle.GridColumnStyles.Add(dgColumnStyle4);
	}


	//何度でも読み出して表の値を書き換えられます。
	private void GridShow()
	{
		//重い処理の可能性があるためカーソルを砂時計に換える
		Cursor BkCur = Cursor.Current; //現在のカーソルを取っておく
		Cursor.Current = Cursors.WaitCursor; //砂時計カーソルに入れ替える

		//選択行を取得
		int line = DataGrid1.GetTopRow();
		//先頭行を設定 存在しない行を指定するとエラーになる
		DataGrid1.SetTopRow(0);

		//データグリッドの更新前に列ヘッダーによるソートを保存する
		bool sortpos = DataGrid1.TableStyles[dataTable1.TableName].AllowSorting;
		DataGrid1.TableStyles[dataTable1.TableName].AllowSorting = false;

		//テーブルの要素を消去
		dataTable1.Rows.Clear();

		command1.Connection = oConn;
		command1.CommandText = "SELECT TOP 1000 * FROM TABLE1";
		//SQL文を実行し、データを取得する
		dataAdapter1.SelectCommand = command1;
		dataAdapter1.Fill(dataSet1, dataTable1.TableName);
		//データグリッドにテーブルを表示する
		DataGrid1.SetDataBinding(dataSet1, dataTable1.TableName);

		//列ヘッダーによるソートを復元する
		DataGrid1.TableStyles[dataTable1.TableName].AllowSorting = sortpos;

		//選択行を設定 行数が変更される場合は存在しない行を指定するとエラーになる
		DataGrid1.SetTopRow(line);
		Cursor.Current = BkCur; //取っておいたカーソルに戻す
	}

	//指定行を選択します
	//A specification line is chosen.
	private void lineSelected(int LineNo)
	{
		DataGrid1.CurrentCell = new DataGridCell(LineNo, 0);
		for(int i = 0;dataTable1.Rows.Count >i;i++)
		{
			DataGrid1.UnSelect(i);
		}
		DataGrid1.Select(LineNo);
		//DataGrid1.SetTopRow(LineNo)
		DataGrid1.Refresh();
	}

	//一行単位の選択に変更
	//It changes into selection of a party unit.
	private void DataGrid1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
	{
		if(!(dataTable1.Rows.Count <= 0))
		{
			DataGridCell Cell;
			Cell = DataGrid1.CurrentCell;
			//  .RowNumber     The selected sequence
			//  .ColumnNumber The selected sequence
			DataGrid1.Select(Cell.RowNumber); //A line is chosen.
		}
	}

	private void Form1_Load(object sender, System.EventArgs e)
	{
		oConn.ConnectionString = connectionString;
		DataGrid1.Paint += new System.Windows.Forms.PaintEventHandler(this.DataGrid1_Paint);
		dataTable1 = dataSet1.Tables.Add("Table1");
		GridInit();
		GridShow();
	}
}



▲トップページ