Не могу поверить, что я должен спросить об этом - вы бы подумали, что такая базовая функция была бы простой в реализации, но мне не удается создать нижний колонтитул для Gridview. Я проверил различные уроки и другие вопросы, такие как here и here и here, но я все еще сталкиваюсь с трудностями.Почему нижний колонтитул Gridview добавляет дополнительную колонку?
Проблема заключается в правильном отображении нижнего колонтитула (т. Е. Без добавления лишнего пустого столбца). Из того, что я собираю, вам нужно поместить FooterTemplate внутри тега TemplateField, иначе он не сработает - по крайней мере, он не будет компилироваться для меня. Если я вставляю это после столбцов BoundFields, он добавляет дополнительный столбец, который нежелателен.
<asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="false" AllowSorting="true"
CellPadding="3" HorizontalAlign="Center" GridLines="both" CssClass="dataTable1"
OnRowDataBound="Colour_Columns" Caption="PARTIAL COMPARE" ShowFooter="true">
<HeaderStyle BackColor="Black" ForeColor="AntiqueWhite" Height="30" CssClass="header" />
<FooterStyle BackColor="Black" ForeColor="AntiqueWhite" Height="30" CssClass="footer" />
<Columns>
<asp:BoundField DataField="FOLDER" HeaderText="Location" />
<asp:BoundField DataField="FILE" HeaderText="File" />
<asp:BoundField DataField="CHECKSUM" HeaderText="Checksum" Visible="false" />
<asp:BoundField DataField="STATUS" HeaderText="Status" />
<asp:BoundField DataField="DATE" HeaderText="Date" Visible="false" />
<asp:TemplateField>
<FooterTemplate>
<asp:Button ID="UpdateButton" runat="server" Text="UPDATE" CssClass="updateButton" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Точно так же, если я ставлю его перед BoundFields добавляет дополнительный столбец слева. Если я попытаюсь поместить все BoundFields под TemplateField, он не будет компилироваться.
Как добавить нижний колонтитул в gridview, не создавая дополнительный столбец? Кроме того, пока мы на нем, как я могу установить его colspan равным 1? (Это не только собирается иметь кнопку один Update в нем, поэтому нет необходимости для трех столбцов в сноске.)
Цветовая схема метода:
protected void Colour_Columns(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[3].Text == "Match")
e.Row.BackColor = Color.Lime;
if (e.Row.Cells[3].Text == "Mismatch")
e.Row.BackColor = Color.Gold;
if (e.Row.Cells[3].Text == "New File")
e.Row.BackColor = Color.PeachPuff;
}
}
Этот метод, кажется, не признают ItemTemplate значения ...
вы добавили еще одно поле шаблона, поэтому оно показывает вам лишний пустой столбец с кнопкой в нижнем колонтитуле. –
@CodeRider да, но если я не добавлю TemplateField, он не позволит FooterTemplate ... – user1985189
именно то, что вы хотите? Вы скрываете несколько столбцов во время выполнения. Если вы скроете столбец, то нижний колонтитул скроется. пожалуйста, уточните, что вы хотите. –