2014-02-18 50 views
0

我的表單的固定大小爲1024x600(dataGridView的寬度爲1022)。 當我試圖用這段代碼讀取XML時,每列的寬度都是一樣的,而列10,11,12和13甚至都沒有顯示,因爲它們在外面。如何調整使用「xy.Columns.Add」創建的列的寬度?

private void btLoadXML_Click(object sender, EventArgs e) 
    { 
    DataTable dt = new DataTable("itemstable"); 

    dt.Columns.Add("Datum", typeof(System.String)); 
    dt.Columns.Add("1", typeof(System.String)); 
    dt.Columns.Add("2", typeof(System.String)); 
    dt.Columns.Add("3", typeof(System.String)); 
    dt.Columns.Add("4", typeof(System.String)); 
    dt.Columns.Add("5", typeof(System.String)); 
    dt.Columns.Add("6", typeof(System.String)); 
    dt.Columns.Add("7", typeof(System.String)); 
    dt.Columns.Add("8", typeof(System.String)); 
    dt.Columns.Add("9", typeof(System.String)); 
    dt.Columns.Add("10", typeof(System.String)); 
    dt.Columns.Add("11", typeof(System.String)); 
    dt.Columns.Add("12", typeof(System.String)); 
    dt.Columns.Add("13", typeof(System.String)); 

    //Read XML File And Display Data in GridView 
    dt.ReadXml("items2.xml"); 
    dataGridView1.DataSource = dt; 
    } 

如何手動調整每列的寬度,以便一切都適合?

+0

'我表格的固定大小爲1024x600' - 我想在您嘗試以2560 x 1600 –

回答

0

試試這個:

dataGridView1.Columns[0].Width = 200; 
+0

的分辨率運行您的應用程序時看到最終用戶的面孔請記住,「0」是列號,而「 「200」是該列的固定寬度。您可以將200更改爲適合您的任何內容。 – James

0

應設置其寬度的在DataGridView像這樣:

dataGridView1.Columns[index].Width = /*insert number here*/; 

通常情況下,我喜歡的DataTable,並的dataGridView使用前者更多的數據操作分離和後者用於表格渲染。

0

使用Grid.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

對於自動創建的網格,我可能會迫使列開出合適的寬度,而不在擁有控制響應事件的唯一辦法,就是:

public static void InitGrid(DataGridView Grid) { 
    Grid.HandleCreated+=new System.EventHandler(DoResizeColumnsEvent); 
} 

static void DoResizeColumnsEvent(object sender,EventArgs e) { 
      ((DataGridView)sender).AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);   
} 
相關問題