jquery克隆函数gridview

时间:2013-08-11 14:21:31

标签: jquery asp.net gridview xml-parsing

嗨,大家需要帮助,下面是我的代码

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没有任何数据时,clone函数实际克隆了列标题而不是子行。

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

任何建议都会有所帮助,谢谢

1 个答案:

答案 0 :(得分: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标题并在有数据时显示它。