【问题标题】:jquery inserting blank row between each record in GridViewjquery在GridView中的每条记录之间插入空白行
【发布时间】:2016-02-17 00:45:21
【问题描述】:

我在 GridView 中的每条记录之间遇到空白行问题。我怀疑问题出在这段代码中:

var row;
        function OnSuccess(response) {
            var xmlDoc = $.parseXML(response.d);
            var xml = $(xmlDoc);
            var company = xml.find("Company");
            if (row == null) {
                row = $("[id*=GridView1] tr:last-child").clone(true);
            }
            $("[id*=GridView1] tr").not($("[id*=GridView1] tr:first-child")).remove();
            if (company.length > 0) {
                $.each(company, function () {
                    var company = $(this);
                $("td", row).eq(0).html($(this).find("LN").text());
                $("td", row).eq(1).html($(this).find("FN").text());
                $("td", row).eq(2).html($(this).find("Company").text());
                $("td", row).eq(3).html($(this).find("City").text());
                $("td", row).eq(4).html($(this).find("State").text());
                $("td", row).eq(5).html($(this).find("sID").text());
                $("td", row).eq(6).html($(this).find("Status").text());
                $("td", row).eq(7).html($(this).find("DateAss").text());
                $("td", row).eq(8).html($(this).find("DateS").text());
                $("td", row).eq(9).html($(this).find("DateApp").text());
                $("td", row).eq(10).html($(this).find("P").text());
                $("td", row).eq(11).html($(this).find("T").text());
                $("td", row).eq(12).html($(this).find("N").text());
                $("td", row).eq(13).html($(this).find("CCID").text());
                $("[id*=GridView1]").append(row);
                row = $("[id*=GridView1] tr:last-child").clone(true);
                });

                var pager = xml.find("Pager");
                $(".Company").ASPSnippets_Pager({
                    ActiveCssClass: "current",
                    PagerCssClass: "pager",
                    PageIndex: parseInt(pager.find("PageIndex").text()),
                    PageSize: parseInt(pager.find("PageSize").text()),
                    RecordCount: parseInt(pager.find("RecordCount").text())
                });
                $(".Company").each(function () {
                    var searchPattern = new RegExp('(' + SearchTerm() + ')', 'ig');
                    $(this).html($(this).text().replace(searchPattern, "<span class = 'highlight'>" + SearchTerm() + "</span>"));
                });
            } else {
                var empty_row = row.clone(true);
                $("td:first-child", empty_row).attr("colspan", $("td", row).length);
                $("td:first-child", empty_row).attr("align", "center");
                $("td:first-child", empty_row).html("No records found for the search criteria.");
                $("td", empty_row).not($("td:first-child", empty_row)).remove();
                $("[id*=GridView1]").append(empty_row);
            }
        };

更具体地说,我认为问题在于名为“公司”的列没有空白记录。当我将上述代码中的“公司”和公司的所有实例更改为“LN”和 ln(确实包含空白记录)时,GridView 什么也不返回。

任何建议将不胜感激。谢谢!

【问题讨论】:

    标签: c# jquery asp.net gridview


    【解决方案1】:

    脚本

     function OnSuccess(response) {
                var xmlDoc = $.parseXML(response.d);
                var xml = $(xmlDoc);
    
                var details = xml.find("Table1");          
                $("[id*=tblDetailData]").append('<tr>'+
                          '      <td></td>'+
                          '      <td></td>'+
                          '      <td></td>'+
                          '      <td></td>'+
                          '      <td></td>'+
                          '      <td></td>'+
                          '  </tr>');
    
                var row = $("[id*=tblDetailData] tr:last-child").clone(true);     
    
                $("[id*=tblDetailData] tr").not($("[id*=tblDetailData] tr:first-child")).remove();
                $.each(details, function () {  
    
                    $("td", row).eq(0).html($(this).find("DATE").text());
                    $("td", row).eq(1).html($(this).find("TYPE").text());
                    $("td", row).eq(2).html($(this).find("ACTION").text());
                    $("td", row).eq(3).html($(this).find("USERID").text());
                    $("td", row).eq(4).html($(this).find("FIELD").text());
                    $("td", row).eq(5).html($(this).find("DETAIL").text());
                    $("[id*=tblDetailData]").append(row);
                });
    
                $('[id*=tblDetailData]').each(function () {
                    $(this).find('td').each(function () {
                        if ($(this).text().trim() == "") {
                            $(this).closest("tr").remove();
                        };
                    });
                });
            }
    

    aspx 页面

                    <table id="tblDetailData">
                        <thead>
                            <tr class="gridheader_background" style="height: 30px; border-bottom: solid 1px #ccc;">
                                <td>Date</td>
                                <td>Page</td>
                                <td>Action</td>
                                <td>Update By</td>
                                <td>Field</td>
                                <td>Detail</td>
                            </tr>
                        </thead>
                    </table>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-03
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      相关资源
      最近更新 更多