嗨,大家需要帮助,下面是我的代码
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>' + ' ' +
'<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函数实际克隆了列标题而不是子行。
现在我尝试在克隆之前计算网格的行数以避免克隆列标题,但结果是它不会显示数据。
任何建议都会有所帮助,谢谢
答案 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标题并在有数据时显示它。