複数の列を持つグリッドビューがありますが、動的に変更する必要がある列は 1 つだけです。各行には、更新するデータベース呼び出しが必要な「ステータス」値があります。その呼び出しを行う関数を作成しましたが、それを更新するために作成した現在のアプローチでは、ページ全体が更新されます。更新すると状態 (ページの他の領域で選択された値、スクロールされた場所など) が削除されるため、これは目障りです。
これを設定するために私が書いたコードは次のとおりです。
<div class = "my_gridview">
<asp:Timer ID = "timer_1" OnTick = "timer_1Tick" runat = "server" Interval = "25" />
<asp:UpdatePanel ID = "update_panel" UpdateMode = "Conditional" runat = "server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID = "timer_1" EventName = "Tick" />
</Triggers>
<ContentTemplate>
<asp:GridView ID="my_gridview" runat="server" AutoGenerateColumns = "False"
GridLines="None" Width="100%" AllowSorting="True"
CssClass="table table-bordered x-condensed cameraDetails" OnRowDataBound = "my_list_RowDataBound"
EmptyDataText = "There are no generated heatmaps">
<Columns>
<asp:TemplateField meta:resourceKey = "StringSourceID">
<HeaderTemplate>
<asp:Label ID = "srcTitleLbl" runat="server" Text = "Source" />
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID = "srcLbl" runat="server" CssClass="LinkBtn_Type" meta:resourceKey="srcLblResource" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourceKey = "StringStatus">
<HeaderTemplate>
<asp:Label ID = "statusTitleLbl" runat="server" Text = "Status" />
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID = "statusLbl" runat="server" CssClass="LinkBtn_Type" meta:resourceKey="statusLblResource" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
ページ全体が更新されない場合、これをどのように行うことができますか?