2011-11-01 75 views
0

我剛開始使用的dataGridView,有些事情似乎很奇怪,我:C#的WinForms:將行添加到一個DataGridView

  • 時,有一個Columns屬性,您可以在其中添加列,這是爲什麼沒有一個行屬性?看來你只能以編程方式添加行。或者我錯了?
  • 第一行左邊的'星形'圖標不能被刪除嗎?
  • 是否可以禁用排序?我的意思是當你點擊某一列時,出現「排序箭頭」,表示這些單元格將被排序。

如果它是唯一可能以編程方式添加行,我有這樣的疑問:

  • 我需要1個和x行一個DataGridView。如何做到這一點最快,最簡單的方法?這些單元格將在運行時以編程方式填充。

更新:關於禁止排序,我發現了自己:有,如果你開的列(集合)改變這一屬性。

+0

評論此評論? http://stackoverflow.com/questions/148854/adding-rows-to-datagridview-with-existing-columns – Lloyd

+0

String [] dataSource = new String [x];將數組綁定到DataGridView。 – Lloyd

回答

4

您可以通過調用dataGridView1.Rows.Add();來添加行。對於多行,可用相同的過載。 dataGridView1.Rows.Add(5);

現在填寫dataGridView1行,您可以分配數據源併爲列設置DataPropertyName。通過 否則循環,並填寫明智像dataGridView1[columnindex,rowindex].Value =something

數據單元的星形圖標顯示當前行正在編輯,您可以選擇通過設置RowHeadersVisible爲false,以隱藏單元格。

+0

很好的答案,這可能有所幫助:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.aspx。首先最好檢查msdn並查找「成員」,每個成員都有一個像Rows這樣的網站:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows.aspx 。請享用 ! – icaptan

+0

謝謝,所以我想只能以編程方式添加行。好的,我添加了4行,每行都有不同的HeaderCell值。當我啓動程序時,名稱/值不是完全可見的,但我可以手動擴大該行的寬度(我只是將其稱爲一行,儘管其索引實際爲-1)。這可以在代碼中完成嗎?我已經嘗試過各種AutoSizeColumnsModes,但它似乎沒有做到這一點。 – eightx2

+0

你的意思是列的寬度?行沒有寬度。設置寬度絕對可以在代碼中完成。 'dataGridView1.Columns [index] .Width = value' – harlam357