2010-02-01 189 views
2

我在我的C#Windows應用程序和我的代碼有一個DataGrid是設置單元格寬度

private void BindGrid(SmsPdu pdu) 
{ 
    DataRow dr=dt.NewRow(); 
    SmsDeliverPdu data = (SmsDeliverPdu)pdu; 
    dr[0]=data.OriginatingAddress.ToString(); 
    dr[1]=data.SCTimestamp.ToString(); 
    dr[2]=data.UserDataText; 
    dt.Rows.Add(dr); 
    dataGrid1.DataSource=dt; 
    } 

而且我的DataGrid看起來像這樣 alt text http://www.freeimagehosting.net/uploads/c368f82e0e.jpg

  • 如何設置全部三列的寬度 發件人,時間,消息?
+0

我修改了包含一些代碼的答案。發佈你的評論下面讓我知道,如果它是有用的。 – shahkalpesh 2010-02-01 17:50:33

回答

2

簡單的方法:使用自動調整

否則,使用列集合來設置每個列的大小

附錄:

對不起,我以爲你是使用DataGridView的,因爲它在.NET 2.0中替換了DataGrid

對於DataGrid,它有點複雜 - 但谷歌知道所有!

http://www.syncfusion.com/faq/windowsforms/search/1004.aspx

+0

@steven如何使用autosize? – 2010-02-01 05:58:38

+0

@ [Pandiya Chendur]:見附錄 – 2010-02-01 06:07:12

+0

似乎沒有爲我工作...請幫助我.. – 2010-02-01 07:09:50

0

上有列集合的寬度屬性:

DataGridView1.Columns = Y

當X爲名稱或列的索引而Y是(X).WIDTH寬度

+0

@rip它是datagrid而不是datagridview – 2010-02-01 05:59:36

0

datagrid1.Columns[0].Width怎麼樣?

看看this班。它有一個可以設置的寬度屬性。

編輯:看看這個page。並看看AddGridStyle下的代碼,其中顯示瞭如何創建映射&設置每個列的樣式,寬度等。

希望有所幫助。編輯2:我編寫下面的代碼沒有編譯器(只使用反射器& MSDN查看文檔)。所以,請善待

DataGridTableStyle tableStyle = dataGrid1.TableStyles[0]; 
GridColumnStylesCollection colStyles = tableStyle.GridColumnStyles[0]; 

DataGridColumnStyle styleForCol1 = colStyles[0]; 
styleForCol1.Width = 165; 

DataGridColumnStyle styleForCol2 = colStyles[1]; 
styleForCol1.Width = 125; 

的代碼是從我從this頁面瞭解下備註,這是引述如下

的System.Windows.Forms的衍生.. ::。DataGrid中 當您將 數據源屬性設置爲適當的 數據源時,控件會自動爲您創建一個 集合的DataGridColumnStyle 對象。創建的對象實際上是 其中一個繼承自 DataGridColumnStyle的類的實例之一: DataGridBoolColumn或 DataGridTextBoxColumn類。

+0

@shahkalpesh沒有屬性datagrid的列..我已經檢查過它... – 2010-02-01 06:01:00

+0

@shahkalpesh我仍然覺得很難得到它加工 – 2010-02-01 08:44:05