0

嗨,伙计们需要帮助,下面是我的代码

var xmlDoc = $.parseXML(response.d);
            var xml = $(xmlDoc);
            var customers = xml.find("Customers");
            var row = $("[id*=gvCustomers] tr:last-child").clone(true);
            $("[id*=gvCustomers] tr").not($("[id*=gvCustomers] tr:first-child")).remove();
            $.each(customers, function () {
                var customer = $(this);
                $("td", row).eq(0).html($(this).find("fname").text());
                $("td", row).eq(1).html($(this).find("mname").text());
                $("td", row).eq(2).html($(this).find("lname").text());
                $("td", row).eq(3).html($(this).find("qualifier").text());
                $("td", row).eq(4).html($(this).find("alias").text());
                $("td", row).eq(5).html('<a class=1ref href=Default.aspx?id=' + $(this).find("pid").text() + '><i class=icon-zoom-in icon-white></i>View</a>' + '&nbsp;' +
                 '<a class=2ref href=Default.aspx?id=' + $(this).find("pid").text() + '><i class=icon-edit icon-white></i>Edit</a>');
                $("[id*=gvCustomers]").append(row);
                row = $("[id*=gvCustomers] tr:last-child").clone(true);
            });
            var pager = xml.find("Pager");
            $(".Pager").ASPSnippets_Pager({
                ActiveCssClass: "current",
                PagerCssClass: "pager",
                PageIndex: parseInt(pager.find("PageIndex").text()),
                PageSize: parseInt(pager.find("PageSize").text()),
                RecordCount: parseInt(pager.find("RecordCount").text())
            });

现在,当网格有以前显示的数据时,我在显示数据时没有任何问题。我的问题是当 gridview 没有任何数据时,克隆函数实际上是克隆列标题而不是子行。

现在我尝试在克隆之前计算网格的行数以避免克隆列标题,但结果是它不会显示数据。

任何建议都会有帮助谢谢

4

1 回答 1

0

没有数据返回时的另一个选择是使用 jquery 隐藏标题。

var xmlDoc = $.parseXML(response.d);
        var xml = $(xmlDoc);
        var customers = xml.find("Customers");
        if(customers.length != 0) { 
          //clone here
        }
        else {
          $("#gvCustomers").hide();
        $(".main").html("No data found"); // used class main. Whatever container the     gridiview was in

        }

这将隐藏 gridview 标题并在有数据时显示它。

于 2013-08-13T14:14:01.523 回答