次のような単純なリピーターがあります。
<asp:Repeater runat="server" ID="rptOptions" OnItemDataBound="rptOptions_ItemDataBound">
<HeaderTemplate>
<thead>
<tr>
<td class="GridHeader">Account</td>
<td class="GridHeader">Margin</td>
<td class="GridHeader">Symbol</td>
<td class="GridHeader">Usymbol</td>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tbody>
<tr runat="server" ID="trOption">
<td class="GridRow"><asp:Label runat="server" ID="lblOptionAccount"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionMargin"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionSymbol"></asp:Label></td>
<td class="GridRow"><asp:Label runat="server" ID="lblOptionUsymbol"></asp:Label></td>
</tr>
</tbody>
</ItemTemplate>
</asp:Repeater>
さて、コード ビハインドには、データベースに行を追加/挿入するイベントが発生します。これが発生した後、データベースからオプションの新しいリストを再度取得し、それらをリピーターに再バインドします。これは更新パネル内で行われるため、ユーザーのためにリストがすぐに更新されます。
protected void lbtnAddOptionSave_Click(object sender, EventArgs e)
{
SelectedOption = new Option()
{
Account = txtAddOptionAccountNumber.Text,
Margin = chkAddOptionMargin.Checked,
Symbol = txtAddOptionSymbol.Text,
Usymbol = txtAddOptionUsymbol.Text,
};
Presenter.OnAddOption(); // Insert new option into database
RefreshOptions(); // Re-get list of options, bind them to repeater
}
さて、私がやりたいと思っていることは、jQuery ScrollTo プラグインを使用して、新しく追加された行に直接スクロールすることです。
jQuery プラグインで ScrollTo() メソッドを呼び出して、追加したばかりの特定の行にスクロールする最良の方法は何でしょうか? jQueryを介してスクロールする要素を簡単に選択できるように、ItemTemplateで行をマークできる方法はありますか?
理想的には、RefreshOptions() の直後に、ScrollTo 関数を実行して新しい行までスクロールしたいと考えています。