2012-01-02 37 views
13

在我的網格我下面的代碼行禁用的用戶手冊調整大小其中:的DataGridView代碼和禁用手動設置行高度調整

dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 

現在我需要設置柱高度的代碼,它沒有工作(請參閱DataGridView setting row height doesn't work

我認爲這是導致非大小問題的這一行代碼。不過,現在我需要找出在代碼如何

  1. 尺寸行

  • 防止用戶上漿行本身
  • 任何指針?

    回答

    26

    集:

    dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; 
    dgvTruckAvail.AllowUserToResizeRows = false; 
    

    這將禁用自動調整大小的行和手動行調整大小。要設置行高度,可以使用RowTemplateHeightMinimumHeight屬性。

    +0

    謝謝!它沒有在開始時做,但後來我注意到在RowTemplate設置的另一個屬性.. – katit 2012-01-02 22:03:30

    +0

    我發現設置Row.Height不工作,直到DataGridView.Visible設置爲True之後。所以我將Row.Height代碼放入VisibleChanged事件處理程序中。 – gmlobdell 2013-06-27 20:08:21

    +0

    例如: 'private void Dgv_VisibleChanged(object sender,EventArgs e) if(sender is DataGridView &&((DataGridView)sender)。可見) { DataGridView dgv = sender as DataGridView; SetRowHeight(dgv); } }' – gmlobdell 2013-06-27 20:47:50

    0

    在屬性窗口中設置:

    AllowUserToResizeRows =假

    3

    設置行大小是一個真正的挑戰。檢查網上有多少抱怨和回覆。我發現有時一種方式有效,其他時候不再有效。

    執行此操作: 將DataGridView放置在窗體上。 編輯並添加幾列。不管它們是什麼,因爲你稍後會丟棄這個DGV。 進入此DataGridView的屬性並將RowTemplate/Height編輯爲小或大(只有這樣才能看到它工作)。在你的方法中添加一行代碼,將XXX.RowCount設置爲12,就像填充此測試DataGridView一樣。運行你的代碼來驗證行高已經改變。

    打開XXX.Designer.cs代碼。展開「Windows窗體設計器生成的代碼」,並查找適用於您剛纔對DataGridView執行的操作的代碼。將其全部複製到您嘗試調整/設置行高的方法中。註釋掉你所有的代碼。逐行,修改自生代碼以使用您的對象的名稱。重複測試任何故障,並在此時進行隔離。

    現在回過頭去刪除這個測試DataGridView對象。

    相關問題