Как Установить gridview ширину столбца при привязке с таблицей данных

Я связываю таблицу с gridview в asp.net как таковом

grdIssues.DataSource = mdtIssues;

grdIssues.DataBind();

Проблема, я не могу затем управлять шириной столбца, asp.net кажется решенному, своему собственному, каков ширина каждый столбец должен быть. Методы такой как

 grdIssues.Columns[0].ItemStyle.Width = 100;
 grdIssues.Columns[1].ItemStyle.Width = 100;

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

8
задан Malachi 14 May 2014 в 22:16
поделиться

3 ответа

Я бы сделал это так:

foreach (DataControlField field in grdIssues.Columns)
{
  field.HeaderStyle.Width = 100;
}
-1
ответ дан 5 December 2019 в 20:14
поделиться

Вам не нужно вручную создавать столбцы, чтобы задать им ширину, вы можете сделать это

 foreach (DataControlField column in OrdersGV.Columns)
    {
      column.ItemStyle.Width = Unit.Pixel(100);
    }
6
ответ дан 5 December 2019 в 20:14
поделиться

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

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

BoundField bdfRaisedDate = new BoundField();
clsUtilities.SetBoundFieldCenter(ref bdfRaisedDate, "RaisedDateShort",    "Opened", "RaisedDate");

grdIssues.Columns.Add(bdfRaisedDate);

grdIssues.DataSource = mdtIssues;

grdIssues.DataBind();

public static void SetBoundFieldCenter(ref BoundField bdfAny, string pDataField, string pHeadingValue, string  pSortExpression)
{
      bdfAny.DataField = pDataField;
      bdfAny.HeaderText = pHeadingValue;
      bdfAny.SortExpression = pSortExpression;
      bdfAny.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
      bdfAny.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
}
0
ответ дан 5 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: