Je suis relativité nouvelle à la programmation asp.net, donc celui-ci m'a perplexe. J'ai créé manuellement un ensemble de données et défini sa valeur sur la source de données du contrôle GridView, puis appelez la méthode Databind, mais elle n'est pas actualisée. J'ai recréé une version simple de ce que je fais pour que quelqu'un puisse me dire ce que je fais de mal. Je n'ai pas inclus le fichier principal, car je ne le voyais pas comme pertinent.ASP.Net GridView ne rafraîchit pas
Code pour la page ASP
<%@ Page Language="vb" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="TestGridView._Default" %>
prix de mise à jour s'il vous plaît VEILLE.
<p>
<asp:GridView ID="GV1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="VendorNumber" HeaderText="Vendor" />
<asp:BoundField DataField="PartNumber" HeaderText="Part or Sku" />
<asp:BoundField DataField="Message" HeaderText="Error Message" />
</Columns>
</asp:GridView>
</p>
<br />
<br />
<%
If Not Page.IsPostBack Then
Response.Write(Me.UpdatePricing())
End If
%>
code pour le code Derrière
Public Class _Default
Inherits System.Web.UI.Page
Public Function UpdatePricing() As String
Dim showerrors As Boolean = False
Dim Head As New PnAHead()
Dim ds As DataSet = Head.GetErrorDataset()
If (ds.Tables("Errors").Rows.Count > 0) Then
showerrors = True
End If
If showerrors Then
GV1.DataSource = ds
GV1.DataBind()
End If
Return "Sales Line Number has been updated."
End Function
End Class
classe qui cre Ates le DataSet
Public Class PnAHead
Public Function GetErrorDataset() As DataSet
Dim dstemp = New DataSet()
Dim tbl As DataTable = dstemp.Tables.Add("Errors")
Dim col As DataColumn = tbl.Columns.Add("VendorNumber", System.Type.GetType("System.String"))
col.MaxLength = 20
col = tbl.Columns.Add("PartNumber", System.Type.GetType("System.String"))
col.MaxLength = 50
col = tbl.Columns.Add("Message", System.Type.GetType("System.String"))
col.MaxLength = 500
Dim row As DataRow
row = tbl.NewRow()
row("VendorNumber") = "Vendor 1"
row("PartNumber") = "Part Number 1"
row("Message") = "Message for Part 1"
tbl.Rows.Add(row)
row = tbl.NewRow()
row("VendorNumber") = "Vendor 2"
row("PartNumber") = "Part Number 2"
row("Message") = "Message for Part 2"
tbl.Rows.Add(row)
Return dstemp
End Function
End Class
Merci, c'était la solution. Je viens du monde de la programmation Windows et je pouvais mettre à jour un datagridview à tout moment et ça fonctionnait toujours. Savez-vous pourquoi vous devez l'appeler à partir de l'événement Page_Load pour le faire fonctionner? – Kevin