0

1 つのページに 2 つのグリッドがあり、どちらも独立していますが、1 つのグリッドを並べ替えると、ページが更新され、他のグリッドの並べ替えが消えます。

更新パネルを使用しましたが、それでも機能しません...助けてください...

<form id="form1" runat="server">
    <div>

        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
        </asp:ScriptManager>
        <table>
        <tr>
        <td>
        <asp:TextBox ID="txt1" runat="server"></asp:TextBox>
        </td>
        </tr>
        <tr>
        <td>
         <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
        <asp:GridView ID="grvDemo" runat="server" AllowSorting="true" AutoGenerateColumns="true" EnableSortingAndPagingCallbacks="TRUE">
        </asp:GridView>
        </ContentTemplate>
        <Triggers> <asp:AsyncPostBackTrigger ControlID="grvDemo" EventName="grvDemo_Sorting" /> </Triggers>
        </asp:UpdatePanel>
        </td>
        <td>
          <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
          <ContentTemplate>
        <asp:GridView ID="GridView1" runat="server" AllowSorting="true" AutoGenerateColumns="true" EnableSortingAndPagingCallbacks="TRUE">
        </asp:GridView>
        </ContentTemplate>
        <Triggers><asp:AsyncPostBackTrigger ControlID="GridView1" EventName="GridView1_Sorting" /></Triggers>
        </asp:UpdatePanel>
        </td>
        </tr>
        </table>

    </div>
    </form>

コード:

Partial Class Import_ETL_Popup
    Inherits Syscon.Web.UI.Page.baseClass
    Protected Sub Page_Load1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        bindgrid()
    End Sub
    Public Function bindgrid()
        Dim dt As DataTable = DBHelper.ExecuteDataset(FunctionFactory.GetConnectionString(), CommandType.Text, "select user_name,password from tbl_user_mst").Tables(0)
        grvDemo.DataSource = dt
        grvDemo.DataBind()
        Dim dt1 As DataTable = DBHelper.ExecuteDataset(FunctionFactory.GetConnectionString(), CommandType.Text, "select password,user_name from tbl_user_mst order by user_name").Tables(0)
        GridView1.DataSource = dt1
        GridView1.DataBind()
    End Function

    Protected Sub grvDemo_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles grvDemo.Sorting
        Dim dt As DataTable = DBHelper.ExecuteDataset(FunctionFactory.GetConnectionString(), CommandType.Text, "select user_name,password from tbl_user_mst order by user_name desc").Tables(0)
        grvDemo.DataSource = dt
        grvDemo.DataBind()
    End Sub

    Protected Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView1.Sorting
        Dim dt1 As DataTable = DBHelper.ExecuteDataset(FunctionFactory.GetConnectionString(), CommandType.Text, "select password,user_name from tbl_user_mst order by user_name desc").Tables(0)
        GridView1.DataSource = dt1
        GridView1.DataBind()
    End Sub
End Class
4

2 に答える 2

0

EventNameあなたはあなたのUpdatePanelコントロールに間違ったものを提供しています

このトピックの詳細については、こちらをご覧ください

実際には、コントロールのそのEventNameプロパティでイベントハンドラーを指定する必要はありません。ボタンコントロールによって提供されるイベントの名前のように、イベントの名前を指定する必要があります。UpdatePanelclick

于 2012-07-19T11:00:34.077 に答える
0

これを試して

 <asp:AsyncPostBackTrigger ControlID="grvDemo" EventName="OnSorting" />

この

<asp:AsyncPostBackTrigger ControlID="GridView1" EventName="OnSorting" />
于 2012-07-19T11:07:24.097 に答える