[英]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.