2013-03-22 2 views
0

Итак, у меня есть таблица и внутри каждой ячейки, это gridview. В основном это таблицы в таблице. Прямо сейчас, столбцы в каждом gridview имеют произвольную ширину, в зависимости от длины каждого текста в каждой ячейке. Я хочу сделать их одинаковыми, так что лучше смотреть на них.Я хочу иметь постоянную ширину столбца

В цикле я создаю каждый вид сетки, привязываюсь к ячейке, привязываюсь к строке и добавляю к внешней таблице. Я пытался добавить это заявление после того, как я связала GridView к DataView, чтобы сделать первые столбцы соответствуют по ширине:

gvTemp.Columns[0].ItemStyle.Width = Unit.Pixel(400); 

Но я получаю ошибку о том, что 0 был слишком большой индекс, даже несмотря на то, GridView является не пусто.

Я использую неправильные методы? Я помещаю код в неправильное место?

ответ

0

Один из способов разобраться в этом вопросе - это процент использования в CSS в сочетании с несколькими простыми математиками в javascript. Используйте javascript для получения количества столбцов в таблице, разделите на 100 и примените этот результат как значение ширины в процентах к каждому столбцу. Таким образом, независимо от того, сколько или сколько столбцов у вас есть, они всегда будут равномерно распределять их.

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

0

Похоже, что свойство Columns предназначено для явно объявленных столбцов, где ваш, вероятно, подразумевается из источника данных.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.columns(v=vs.110).aspx

Проверить свойство Rows. Возможно, вам придется установить ширину ячеек в пределах первой строки:

Rows[0].Cells[0].Width = Unit.Pixel(400) 
Смежные вопросы