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())
            });

グリッドに以前に表示されたデータがある場合、データの表示に問題はありません。私の質問は、グリッドビューにデータがない場合、クローン関数が実際に子行ではなく列ヘッダーを複製することです。

列ヘッダーの複製を避けるために、複製する前にグリッドの行を数えてみましたが、結果はデー​​タを表示しません。

どんな提案も役に立ちますありがとう

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

        }

これにより、グリッドビュー ヘッダーが非表示になり、データがある場合に表示されます。

于 2013-08-13T14:14:01.523 に答える