2010-07-26 2 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; 
       } 
      } 
     } 

Но это просто держать все ширин по умолчанию! Что я делаю не так?

EDIT: Я уже пробовал этот код!

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

Вы имели в виду Высота? Или, может быть, ширина столбцов? – Ben

+0

Ширина столбца, я редактировал код, который я пытался использовать для установки ширины столбцов, которая также не работает. –

ответ

0

... почему вы устанавливаете ширину в событии привязки данных? Просто установите их (используя свойство Columns DataGrid) перед привязкой данных в первую очередь.

Установка их в событии привязки данных в любом случае является глупой, поскольку вы не можете иметь разную ширину для разных строк.

+0

Я отредактировал вопрос с кодом, который я уже пробовал, которым я верю, это то, о чем вы говорили, что тоже не работает! –

+0

@jacobnlsn: Определить, что «не работает». Вы получили сообщение об ошибке? Вы уверены, что 'DataControlField' является правильным типом? Разве 'DataGridColumn' недостаточно? –

+0

Я использую GridView, и не существует объекта GridViewColumn, не работает, не модифицирует gridview после того, как код пробегает цикл for. –

Смежные вопросы