1

更新パネル内にグリッド ビューを持っています。

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
                                            BorderColor="#D9EFFD" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" DataSourceID="SqlDataSource1"
                                            Font-Names="Tahoma" Font-Size="8pt" GridLines="Horizontal" Width="100%" ForeColor="#010101"
                                            ShowHeaderWhenEmpty="True">
                                            <Columns>
                                                <asp:BoundField DataField="MODE_TPT_ENTRY" HeaderText="Balance" SortExpression="MODE_TPT_ENTRY">
                                                    <HeaderStyle HorizontalAlign="Left" />
                                                    <ItemStyle Font-Bold="True" HorizontalAlign="Left" Width="120px" ForeColor="#035BAC" />
                                                </asp:BoundField>
                                                <asp:BoundField DataField="OB" HeaderText="Opening" SortExpression="OB">
                                                    <ItemStyle HorizontalAlign="Right" Width="70px" />
                                                </asp:BoundField>
                                                <asp:BoundField DataField="ISSUED" HeaderText="Arrival" SortExpression="ISSUED">
                                                    <ItemStyle HorizontalAlign="Right" Width="70px" />
                                                </asp:BoundField>
                                                <asp:BoundField DataField="UNTARE" HeaderText="UNTARE" SortExpression="UNTARE" Visible="False" />
                                                <asp:BoundField DataField="TARE" HeaderText="Tare" SortExpression="TARE">
                                                    <ItemStyle HorizontalAlign="Right" Width="70px" />
                                                </asp:BoundField>
                                                <asp:BoundField DataField="BALANCE" HeaderText="Balance" SortExpression="BALANCE">
                                                    <ItemStyle HorizontalAlign="Right" Width="70px" />
                                                </asp:BoundField>
                                                <asp:BoundField DataField="RRY" HeaderText="Recovery" SortExpression="RRY">
                                                    <ItemStyle HorizontalAlign="Right" Width="70px" />
                                                </asp:BoundField>
                                                <asp:BoundField DataField="TRANSPORT_NO" HeaderText="TRANSPORT_NO" SortExpression="TRANSPORT_NO"
                                                    Visible="False" />
                                            </Columns>
                                            <FooterStyle BackColor="White" ForeColor="#000066" />
                                            <HeaderStyle BackColor="#D9EFFD" Font-Bold="True" ForeColor="#010101" HorizontalAlign="Right" />
                                            <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                                            <RowStyle ForeColor="#101010" HorizontalAlign="Right" />
                                            <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                                            <SortedAscendingCellStyle BackColor="#F1F1F1" />
                                            <SortedAscendingHeaderStyle BackColor="#007DBB" />
                                            <SortedDescendingCellStyle BackColor="#CAC9C9" />
                                            <SortedDescendingHeaderStyle BackColor="#00547E" />
                                        </asp:GridView>


<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString3 %>"
                                                ProviderName="<%$ ConnectionStrings:ConnectionString3.ProviderName %>" SelectCommand="SELECT * from cms_production">
                                            </asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel>

このように5秒後にパネルを更新するJavaScript関数

<script type="text/javascript">
window.setInterval(function () {
__doPostBack('<%= UpdatePanel1.ClientID %>', '');
        }, 5000);
</script>

問題は、gridview にバインドされているデータを変更すると、5 秒後に変更が表示されないことです。コードの問題や、更新パネル内でグリッドビューを更新するためにコードに追加するその他の追加事項を教えてください。ページリダイレクトなし。

4

1 に答える 1

2

ポストバックするたびに SqlDataSource を手動で更新する必要があります。その背後に実際のロジックがない場合は、次を Page_Load に追加するだけです。

protected void Page_Load(object sender, EventArgs e)
{
       .....

    if (IsPostBack)
    {
        SqlDataSource1.DataBind();
        GridView1.DataBind();
    }
}

UpdatePanel がポストバックを実行するときにのみこれを実行する場合は、このメソッドを使用します

于 2012-11-14T10:20:25.130 に答える