Gridview固定头cloneNode重复值

时间:2014-11-18 08:09:20

标签: javascript jquery asp.net gridview duplicate-data

我有一个gridview,每行都有文本框和复选框。文本框中绑定了水印。(在第一页加载时用客户端的隐藏字段绑定)当我想用javascript代码修复gridview标题时,我在论坛中发现,回发后,水印值重复。如果我发表评论:

DivHR.appendChild(tbl.cloneNode(真));

这一行,该值不重复,但标题向下滚动。我怎么能解决这个问题?问题是什么?大约两个星期我无法解决这个问题。请帮忙..

以下是代码:

<script language="javascript" type="text/javascript">
function MakeStaticHeader(gridId, height, width, headerHeight, isFooter) {
    var tbl = document.getElementById(gridId);
        if (tbl) {
        var DivHR = document.getElementById('DivHeaderRow');
        var DivMC = document.getElementById('DivMainContent');
        var DivFR = document.getElementById('DivFooterRow');
        //*** Set divheaderRow Properties ****
        DivHR.style.height = headerHeight + 'px';
        DivHR.style.width = (parseInt(width)-16) + 'px';
        DivHR.style.position = 'relative';
        DivHR.style.top = '0px';
        DivHR.style.zIndex = '10';
        DivHR.style.verticalAlign = 'top';
        //*** Set divMainContent Properties ****
        DivMC.style.width = width + 'px';
        DivMC.style.height = height + 'px';
        DivMC.style.position = 'relative';
        DivMC.style.top = -headerHeight+ 'px';
        DivMC.style.zIndex = '1';
        //*** Set divFooterRow Properties ****
        DivFR.style.width = (parseInt(width) -16) + 'px';
        DivFR.style.position = 'relative';       
        DivFR.style.paddingtop = '2px';
        if (isFooter) {
            var tblfr = tbl.cloneNode(true);
            tblfr.removeChild(tblfr.getElementsByTagName('tbody')[0]);
            var tblBody = document.createElement('tbody');
            tblfr.style.width = '100%';
            tblfr.cellSpacing = "0";
            tblfr.border = "0px";
            tblfr.rules = "none";
            //*****In the case of Footer Row *******
            tblBody.appendChild(tbl.rows[tbl.rows.length - 1]);
            tblfr.appendChild(tblBody);
            DivFR.appendChild(tblfr);
        }
        //****Copy Header in divHeaderRow****
        DivHR.appendChild(tbl.cloneNode(true));
    }
}
function OnScrollDiv(Scrollablediv) {
    document.getElementById('DivHeaderRow').scrollLeft = Scrollablediv.scrollLeft;
    document.getElementById('DivFooterRow').scrollLeft = Scrollablediv.scrollLeft;
}

这是代码隐藏:

 protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        if (Session["kullanici"] == null)
        {
            Response.Redirect("Login.aspx");
        }
        else if (Request.QueryString["A_ID"] == null)
        {
            Response.Redirect("Sorular.aspx?A_ID=1&K_ID=" + Session["kullanici"]);
        }

        aciklama(); //The value of watermark get from database to hiddenfields with this function
    }

    kilitliSoru();
    varsayilanAciklamaDsbld();

    ScriptManager.RegisterStartupScript(Page, this.GetType(), "Key", "<script>MakeStaticHeader('" + GridView1.ClientID + "',500,1350, 39,false); </script>", false);

}

Before Postback After Postback

0 个答案:

没有答案