我的問題很簡單 - 後數據綁定我想設置所有列的寬度,使得它不會是水平scrolling.Something這樣的:計算寬度avaible在的dataGridView
columnWidth = grid.width/grid.Columns.Count
但這不表達考慮「左側部分gridView」與至極我可以選擇行,這將顯示當前行。如何計算它的寬度? [(grid.width - X)/grid.Columns.Count]
我的問題很簡單 - 後數據綁定我想設置所有列的寬度,使得它不會是水平scrolling.Something這樣的:計算寬度avaible在的dataGridView
columnWidth = grid.width/grid.Columns.Count
但這不表達考慮「左側部分gridView」與至極我可以選擇行,這將顯示當前行。如何計算它的寬度? [(grid.width - X)/grid.Columns.Count]
很容易做到這一點。只需將DataGridView.AutoSizeColumnMode屬性設置爲Fill
即可。
grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
而且您可能需要明確要求網格調整列間距。我記不得了。但是,這是簡單的事:
grid.AutoResizeColumns();
按照documentation,Fill
將執行以下操作:
列寬調整,使所有列的寬度正好 填寫的顯示區域控制,僅需要水平滾動 以將列寬保持在DataGridViewColumn.MinimumWidth屬性值之上。相對列寬由相對的DataGridViewColumn.FillWeight屬性值確定。
所以基本上,只要你沒有任何列可以阻止它,MinimumWidth
這個屬性就是你正在尋找的東西。
編輯:解決了OP的評論:
你總是可以創建一個簡單的屬性信息向您彙報。喜歡的東西...
public int DataGridViewDeadSpaceWidth
{
get
{
int x = grid.Width;
foreach (DataGridViewColumn column in grid.Columns)
x -= column.Width;
return x;
}
}
你也可以用它來從DataGridView
繼承和自己添加的屬性來控制。請注意,您可能需要考慮一些來自DataGridView
邊界的其他死區。
這是一切都好。但如果有時我需要知道這個值?我怎麼能達到它沒有做反向操作:X =大小 - columnWidth *計數? –