2011-08-11 1 views
0

winformsでデータをバインドした後、datagridviewで各列のインデックスを手動で設定する方法は?

getdata() 
{ 
SqlConnection con = new SqlConnection("Data source=XXXXX;Initial catalog=dummy;integrated security=true"); 
      DataTable dt = new DataTable(); 
      DataColumn col = new DataColumn("Title", typeof(System.String)); 
      dt.Columns.Add(col); 
      DataRow row = dt.NewRow(); 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("select Title,Description from systemtray", con); 
      SqlDataReader dr; 
      dr = cmd.ExecuteReader(); 
      while (dr.Read()) 
      { 
       string s=dr["Title"].ToString()+Environment.NewLine+dr["Description"].ToString();  

       row["Title"]= s.Trim(); 

       dt.Rows.Add(row["Title"]); 
      } 
      dataGridView1.DataSource = dt; 
} 

動的データを追加し、私はアウトプットであるproperties.Hereを使用してデータグリッドへの2つのボタンを追加するためのコード:[0]の2つのボタンが指数で表示している、[1]とデータが表示されています最後の列では、インデックス[0]の位置にデータを表示し、次に2つのボタンを表示する必要があります。インデックスは手動で設定できます。

答えて

2

フォームデザイナから新しいDataGridViewTextBoxColumnを追加し、でこの列を表示したいと思いますどんな位置で最も位置またはを先頭に移動し、このDataGridViewTextBoxColumnのプロパティで、あなたのコードから、あなたの列の名前にDataPropertyNameを設定しています、私は、それはそれタイトルだされ、コンパイル、実行して、ボタンの列の前にテキスト列を表示する必要があります...私はあなたのためのスクリーンショットを添付している見ることができる、私はそれはあなたの問題を解決することを願っています...

posit

+0

お返事ありがとうございます。はい、現在うまくいきます。お手伝いがありがとうございます。 – tiru

6

DataGridViewの列の位置を変更するには、所望の値にDataGridViewColumnのDisplayIndexプロパティ:

dataGridView1.Columns[2].DisplayIndex = 0; 

このコードは最初の列の位置に第DGV列を変更します。

DataTableの列を変更する必要はなく、DataGridViewの列の順序を変更してもDataTableのスキーマには影響しません。

関連する問題