Извините, если это не имеет значения, но я читаю между строк вашего вопроса и задаюсь вопросом, пытаетесь ли вы просто заставить определенные столбцы (например, столбцы даты / времени) не оборачивать их содержимое, таким образом откладывая перенос в другие столбцы (например, текстовые столбцы)? Браузер, как правило, старается расположить HTML-таблицу оптимально. Если вы хотите, чтобы некоторые столбцы не переносились, вы можете использовать свойство CSS white-space: nowrap
.
В GridView, использующем ItemTemplate, есть свойство Wrap = "False":
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Data") %>'></asp:Label>
</ItemTemplate>
<ItemStyle Wrap="False" />
Если вы хотите использовать автоматически сгенерированные столбцы, вам придется обрабатывать соответствующие события в каждом сгенерированном GridView, а затем устанавливать атрибуты в выделенном коде. Что-то вроде:
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[2].Attributes.Add("style", "white-space: nowrap;");
}
Очевидно, вам сначала нужно определить, относятся ли данные связанного столбца к типу, для которого вы хотите запретить перенос.
Выше приведен худший вариант развития событий; вам может сойтись с обработкой событий, которые запускаются не так часто (возможно, для каждого столбца), но я не уверен, сработает ли это в вашей ситуации.
Если вы хотите, чтобы вся таблица не была перенесена, вы можете просто установить свойство CSS на своей странице для всех table.tr.td
элементов.