ASP.NET GridView处于编辑模式

时间:2013-04-09 09:02:27

标签: jquery asp.net gridview datatable

我有一个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);
} 

3 个答案:

答案 0 :(得分:0)

每次在网格上发生事件时,您都需要绑定它。

答案 1 :(得分:0)

选择行的做法是客户端事件(java-script或jQuery)在两种情况下使用

return false;

如果正在调用任何函数onclick(java-script或jQuery)

修改

您可以替换

<asp:ButtonField ButtonType="Image" 
         ImageUrl="~/images/icn_alert_error.png" />

使用模板归档并将图像替换为图像按钮,如下所示

 <asp:TemplateField>
      <ItemTemplate>
          <img src="~/images/icn_alert_error.png" />    
       </ItemTemplate>
  </asp:TemplateField>

答案 2 :(得分:0)

在所有最终解决方案的帮助下:

                 <asp:TemplateField>
                     <ItemTemplate>
                       <a href="#" id="selectImage">
                        <img src="images/icn_alert_success.png" /></a>
                      </ItemTemplate>
                  </asp:TemplateField>

然后这个JQuery代码:

                  $('[id$=selectImage]').click(function (evt) {
                  evt.preventDefault();
                 alert("item selected");
                  });

所以,现在,我需要为所选行获取KeyValue,我们才是金色。