2010-07-26 64 views
0

我當前的代碼GridView的行距嘗試設置寬度爲上一個GridView行是:無法設置上的RowDataBound

protected void RowDataBound(Object sender, GridViewRowEventArgs e) 
     { 
      if (e.Row.RowType == DataControlRowType.Header) 
      { 
       foreach (DataControlFieldHeaderCell dcfhc in e.Row.Cells) 
       { 
        dcfhc.Width = 100; 
       } 
      } 
      else 
      { 
       foreach (DataControlFieldCell dcfc in e.Row.Cells) 
       { 
        dcfc.Width = 100; 
       } 
      } 
     } 

但是,這只是把所有的寬度默認的!我究竟做錯了什麼?

編輯:我已經試過這個代碼了!

PoolToDBHeaders.DataSource = new DataView(headerTable); 
     PoolToDBHeaders.DataBind(); 
     foreach (DataControlField dcf in PoolToDBHeaders.Columns) 
     { 
      dcf.ItemStyle.Width = 100; 
     } 
     PoolToDBHeaders.DataBind(); 
+0

您的意思是身高?或者也許列寬? – Ben 2010-07-26 18:38:43

+0

列寬,我用代碼編輯,我試圖用來設置也不起作用的列寬。 – 2010-07-26 18:41:57

回答

0

...你爲什麼要在數據綁定事件中設置寬度?首先在數據綁定之前設置它們(使用DataGrid的Columns屬性)。

將它們設置在數據綁定事件中無論如何都是愚蠢的,因爲對於不同的行你不可能有不同的寬度。

+0

我用代碼編輯了這個問題,我已經試過了,我相信你在說什麼,那也不行! – 2010-07-26 18:41:27

+0

@jacobnlsn:定義「不起作用」。你有錯誤嗎?你確定'DataControlField'是正確的類型嗎? DataGridColumn不夠嗎? – 2010-07-26 18:43:54

+0

我正在使用一個GridView,並且不存在一個對象GridViewColumn,不起作用的意思,在代碼運行for循環後不修改gridview。 – 2010-07-26 18:47:06