特定の行を選択して削除するための2つの画像アイコンを配置するGridviewがあります。グリッドはjqueryデータテーブルにバインドされていますが、画像を選択して行を選択すると、デフォルトの動作は強制的にポストバックされ、グリッドのデータブル設定が失われます。
いずれかのボタンをクリックしたときにデータテーブルを保持する方法はありますか?
<asp:GridView ID="grdMessageDups" runat="server" DataSourceID="sourceDuplicates"
AutoGenerateColumns="false">
<Columns>
<asp:CommandField ShowSelectButton="true" ButtonType="Image"
SelectImageUrl="~/images/icn_alert_success.png"/>
<asp:ButtonField ButtonType="Image"
ImageUrl="~/images/icn_alert_error.png" />
<asp:BoundField DataField="MsgDateDetailDuplicatesID" Visible="false" />
<asp:BoundField DataField="1" HeaderText="Heading 1" />
<asp:BoundField DataField="2" HeaderText="Heading 2" />
<asp:BoundField DataField="3" HeaderText="Heading 3" />
</Columns>
</asp:GridView>
次に、DataTable JQuery のものは次のとおりです。
var oTable = $('#grdMessageDetail').dataTable({
"aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "ALL"]],
'asStripClasses': null,
"iDisplayLength": 10,
"bJQueryUI": true,
"bFilter": true,
"bAutoWidth": false,
"bProcessing": true,
"bServerSide": false,
"sDom": 'RC<"H"lfr>t<"F"ip>',
//Scrolling .......
"sScrollY": "250px",
"sScrollX": "100%",
"sScrollXInner": "100%",
"bScrollCollapse": true,
});
コードビハインドのコードは次のとおりです。
public static void MakeAccessible(GridView grid)
{
if (grid.Rows.Count <= 0) return;
grid.UseAccessibleHeader = true;
grid.HeaderRow.TableSection = TableRowSection.TableHeader;
if (grid.ShowFooter)
grid.FooterRow.TableSection = TableRowSection.TableFooter;
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
MakeAccessible(grdMessageDups);
}