當兩個文本框為我設定范圍然后單擊“搜索”并回傳該范圍內的列時,我一直在嘗試重繪 GridView。
但問題是,在第一次加載時,GridView 填滿了所有列,這很好用,但是當我單擊搜索按鈕時根本不重繪 ,它只是保持不變。
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView CssClass="table" AllowSorting="true" HeaderStyle-HorizontalAlign="Center" EmptyDataText="No hay pendientes." CellPadding="10" HeaderStyle-CssClass="bg-primary p-2 text-dark bg-opacity-25" runat="server" ID="gvBitacora" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="cvebitacora" HeaderText="No" ItemStyle-Font-Bold="true" ItemStyle-Width="3%" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="Formulario No." ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<%# String.Format("{0}-{1}", Eval("cveano"), Eval("cvenumero"))%>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="cveusuario" HeaderText="Usuario" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="cveestado" HeaderText="Estado" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="observacion" HeaderText="Observación" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="fechaaccion" HeaderText="Fecha" DataFormatString="{0:dd/ MM/ yyyy}" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="Revisión" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="btnVer" CssClass="btn btn-primary" runat="server" CommandName="btnVer" CommandArgument="<%# Container.DataItemIndex %>">Ver <i class='far fa-eye'></i></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
這里是VB中的按鈕點擊
Private Sub btnBuscar_Click(sender As Object, e As EventArgs) Handles btnBuscar.Click
Dim user As User = CType(Session.Item("user"), User)
Dim oBLBitacora As New BLBitacora
Dim lBitacora, lBitacora2 As New List(Of Bitacora)
If user.cverol = 2 Then
If panelsStayOpen_headingOne.Checked = True Then
lBitacora = oBLBitacora.BitacorasGetDate(dateFechaInicio.Text, dateFechaFinal.Text)
gvBitacora.DataSource = lBitacora
gvBitacora.DataBind()
End If
ElseIf user.cverol = 3 Then
lBitacora = oBLBitacora.BitacorasGet(2)
gvBitacora.DataSource = lBitacora
gvBitacora.DataBind()
End If
End Sub
第一次加載時的 GridView
頁面加載
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim user As User = CType(Session.Item("user"), User)
Dim oBLBitacora As New BLBitacora
Dim lBitacora, lBitacora2 As New List(Of Bitacora)
If Not IsPostBack Then
If user.cverol = 2 Then
lBitacora = oBLBitacora.BitacorasGet(1)
gvBitacora.DataSource = lBitacora
gvBitacora.DataBind()
ElseIf user.cverol = 3 Then
lBitacora = oBLBitacora.BitacorasGet(2)
gvBitacora.DataSource = lBitacora
gvBitacora.DataBind()
End If
Else
If panelsStayOpen_headingOne.Checked = True Then
panelsStayOpen_headingOne.Attributes("class") = "form-check-input"
panelsStayOpen_headingOne.Attributes("aria-expanded") = "true"
panelsStayOpen_collapseOne.Attributes("class") = "accordion-collapse collapse show"
Else
panelsStayOpen_headingOne.Attributes("class") = "collapsed form-check-input"
panelsStayOpen_headingOne.Attributes("aria-expanded") = "false"
panelsStayOpen_collapseOne.Attributes("class") = "accordion-collapse collapse"
End If
End If
uj5u.com熱心網友回復:
顯示初始系結的頁面加載事件在哪里?您還需要確保在單擊搜索后呼叫 Updatepanel.Update()。
uj5u.com熱心網友回復:
我已經設法修復它,面板更新需要在初始表單中,而不僅僅是 GridView。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/314920.html
