Нижний колонтитул сетки не отображается - PullRequest
0 голосов
/ 04 октября 2018

Я строю gridview из arraylist и хочу добавить нижний колонтитул внизу.

Это мой код c #

gvOrder.DataSource = orderItemList; 
gvOrder.DataBind(); 
gvOrder.ShowFooter = true; 
gvOrder.Columns[0].FooterText = "Totals:"; 
gvOrder.Columns[2].FooterText = Convert.ToString(quantity); 
gvOrder.Columns[4].FooterText = Convert.ToString(priceTotal);

Вот мой код asp

<asp:GridView ID="gvOrder" runat="server" AutoGenerateColumns="False" ShowFooter="True">
    <Columns>
        <asp:BoundField DataField="ItemTitle" HeaderText="Title" />
        <asp:BoundField DataField="ItemFormat" HeaderText="Format" />
        <asp:BoundField DataField="ItemQuantity" HeaderText="Quantity" /> 
        <asp:BoundField DataField="ItemPrice" HeaderText="Price" />
        <asp:BoundField DataField="ItemTotal" HeaderText="Total" />
    </Columns>
</asp:GridView>

1 Ответ

0 голосов
/ 04 октября 2018

Порядок вещей имеет значение.Вы должны установить значения нижнего колонтитула перед вызовом DataBind().

gvOrder.Columns[0].FooterText = "Totals:"; 
gvOrder.Columns[2].FooterText = Convert.ToString(quantity); 
gvOrder.Columns[4].FooterText = Convert.ToString(priceTotal);

gvOrder.DataSource = orderItemList; 
gvOrder.DataBind();
gvOrder.ShowFooter = true; 

Но вы можете установить значения строки нижнего колонтитула после DataBind, если вы указываете ячейки нижнего колонтитула вместо столбцов.

gvOrder.FooterRow.Cells[1].Text = "After DataBind";
...