VB .NET Создание дополнительных столбцов в Gridviews - PullRequest
2 голосов
/ 22 апреля 2009

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

Dim Field As New BoundField
Field.HeaderText = "Cummulative Amount"
Dim Col As DataControlField = Field
Me.GridView1.Columns.Add(Col)

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

Заранее спасибо,

Ответы [ 2 ]

3 голосов
/ 22 апреля 2009

Да, люди сказали вам правильную вещь - вам нужно установить свойство DataField объекта BoundField, чтобы оно отображалось. Ваш DataField будет публичной собственностью, предоставляемой источником данных, с которым вы связываете свой GridView.

В качестве дополнительного момента вам не нужно создавать DataControlField, потому что класс BoundField наследуется от DataControlField. Вы можете напрямую добавить BoundField в коллекцию Columns GridView.

Dim Field As New BoundField()
Field.HeaderText = "Cumulative Amount"
Field.DataField = "CumulativeAmount"

Me.GridView1.Columns.Add(Field)
1 голос
/ 22 апреля 2009

Обновление:

Вы можете создать этот вычисляемый столбец прямо в разметке для вида сетки. Предполагая, что ваш источник данных имеет Поле с именем «Сумма» и другое поле с именем «Количество» и что ваша «Совокупная сумма» является продуктом этих двух столбцов, вы можете сделать что-то вроде этого:

<asp:GridView runat="server" DataSource="sqlDataSource">
  <columns>
    <asp:BoundField HeaderText="Amount" DataField="Amount" />
    <asp:BoundField HeaderText="Quantity" DataField="Quantity" />
    <asp:TemplateField HeaderText="Cummulative Amount">
      <ItemTemplate>
        <asp:Label runat="server" Text='<%# Eval("Amount") * Eval("Quantity") %>' />
      </ItemTemplate>
    </asp:TemplateField>
  </columns>
</asp:GridView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...