Моего GridView:GridView - установить ширину столбца в коде (AutoGenerateColumns = "истинный")
<asp:GridView ID="GridView1" runat="server"
OnRowDataBound="GridView1_RowDataBound"
AutoGenerateColumns="true"
DataKeyNames="Role_id">
</asp:GridView>
В коде позади:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//e.Row.Cells[2].Width = 120; // isn't working....
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Width = new Unit(120); // isn't working....
TableCell cell = e.Row.Cells[2];
cell.HorizontalAlign = HorizontalAlign.Right; //**** does work!
cell.BackColor = Color.LightGray; //**** does work!
//cell.Width = 120; // isn't working....
//e.Row.Cells[2].Width = new Unit("120px") ; // isn't working....
//e.Row.Cells[2].CssClass = "myGV_Cell_Width"; // isn't working....
}
}
Элемент GridView заполняется успешно.
Обратите внимание, что I может установить выравнивание и обратную цветную колонку, но не ее ширину.
Я пробовал много решений, циркулирующих вокруг, но никто не работал.
Он всегда изменяет размер столбца до самого длинного содержимого.
Это можно сделать вообще ...?
Просто подумайте, как отдельные ячейки могут иметь разную ширину в таблице. Колонка может иметь ширину, а не ячейки. –
Строки не могут иметь ширину столбцов. Все это должно быть указано в таблице стилей. – wolfeh
Да. Я должен практиковать свой английский. Тем временем я ищу способ установить ширину столбца из кода позади. (Я изменю название и спасибо за замечание). – gadi