繁体   English   中英

无法在ASP.NET中的Gridview上显示数据

[英]Trouble showing data on Gridview in ASP.NET

我一直在ASP.NET的gridview上显示数据时遇到麻烦。

这是我的gridview

<asp:GridView ID="grvConsumptions" runat="server" AllowSorting="true" 
    AllowPaging="true" AutoGenerateColumns="false" RowStyle-CssClass="txtB" 
    DataKeyNames="idConsumption" PageSize="30" Width="100%" CssClass="borders"
    HeaderStyle-CssClass="subT" AlternatingRowStyle-CssClass="txtA" 
    onpageindexchanging="grvConsumptions_PageIndexChanging" 
    onsorting="grvConsumptions_Sorting">
    <PagerStyle HorizontalAlign="Right" CssClass="subT" />

    <EmptyDataTemplate>
        <asp:Literal runat="server" ID="ltNoInformationFound">
            No Data Found
        </asp:Literal>
    </EmptyDataTemplate>

    <Columns>
        <asp:BoundField HeaderText="ID" ReadOnly="true" DataField="idConsumption" SortExpression="idConsumption" HtmlEncode="False" />
        <asp:BoundField HeaderText="No. Venta" ReadOnly="true" DataField="stationSaleNumber" SortExpression="stationSaleNumber" HtmlEncode="False" />

        <asp:TemplateField HeaderText="Trans">
            <ItemStyle HorizontalAlign="Center">
            </ItemStyle>

            <ItemTemplate>
                <asp:Image ID="imgPayment" runat="server" ImageUrl="images/icons/aro.gif">
                </asp:Image>
            </ItemTemplate>
        </asp:TemplateField>

        <asp:BoundField HeaderText="Tarjeta" ReadOnly="true" DataField="cardCode" SortExpression="cardCode" HtmlEncode="False" />
        <asp:BoundField HeaderText="Fecha" ReadOnly="true" DataField="dateCreated" SortExpression="dateCreated" HtmlEncode="False" />
        <asp:BoundField HeaderText="Litros" ReadOnly="true" DataField="quantity" SortExpression="quantity" DataFormatString="{0:0.000}" HtmlEncode="False" />
        <asp:BoundField HeaderText="Descripción" ReadOnly="true" ItemStyle-Width="5%" DataField="description" SortExpression="description" />
        <asp:BoundField HeaderText="Precio Unitario" ReadOnly="true" DataField="price" SortExpression="price" HtmlEncode="False"/>
        <asp:BoundField HeaderText="Importe" ReadOnly="true" DataField="total" SortExpression="total" HtmlEncode="False"/>
        <asp:BoundField HeaderText="Kms" ReadOnly="true" DataField="mileage" SortExpression="mileage" HtmlEncode="False"/>
    </Columns>

    <HeaderStyle HorizontalAlign="Left" />
    <PagerStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <RowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <EditRowStyle CssClass="txtB" />
    <EmptyDataRowStyle HorizontalAlign="Center" CssClass="tboxCombo" ForeColor="DarkGoldenrod" BorderWidth="0px" />
    <RowStyle CssClass="txtB" />
    <HeaderStyle CssClass="subT" />
    <AlternatingRowStyle CssClass="txtA" />
</asp:GridView>

这是我使用的一种简单方法。

DataTable dtConsumptions = GetData();
grvConsumptions.DataSource = dtConsumptions;
grvConsumptions.DataBind();

据我所知,我找不到一种调试方法,也无法找出为什么gridview上没有显示数据(它总是显示未找到数据的标签)。

我已经仔细检查过DataTable确实具有数据,并且gridview请求的所有列都存在于datatable的列中。

如何解决此问题或查找为什么不显示数据的例外?

您可以使用RowDataBound event ,并使用代码c#在服务器端绑定数据。

循环行并进行调试。

网址: http : //msdn.microsoft.com/zh-CN/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx

等等,我弄清楚了(尽管我仍然需要一点点研究)我有一个更新面板:显然,当我按下按钮时,它只会重新加载标签,但不会重新加载gridview ...摆脱了更新面板,它起作用了,重新加载了gridview

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM