我在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);
}
};
更具体地说,我认为问题在于名为“Company”的列没有空白记录。当我将上述代码中“Company”和company的所有实例更改为“LN”和ln(确实包含空白记录)时,GridView不返回任何内容。
任何建议都将不胜感激。谢谢!
答案 0 :(得分:0)
脚本
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 Page
<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>