无法在javascript中隐藏gridview列

时间:2013-08-13 14:23:28

标签: javascript asp.net

我有一个包含5列的GridView1,第一列是删除行。当用户点击提交时,我想调用此函数来隐藏该列,同时vb.net代码隐藏运行直到完成。

我可以提醒(这里是2)但是我没有到达这里 - 3?不知道为什么??

      function hideColumn() {
        alert("here-1");
        col_num = 0;    // document.getElementById("column_numbder").value;
        alert("here-2");
        rows = document.getElementById("divMain.GridView1").rows;
        alert("here-3");
        for (i = 0; i < rows.length; i++) {
            rows[i].cells[col_num].style.display = "none";
         }
        alert("here-4");
    }

这是我的gridview信息:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="both" OnRowDeleting="Gridview1_RowDeleting"  >
                    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                    <Columns>
                        <asp:CommandField HeaderText="" ShowDeleteButton="True" ShowHeader="True" DeleteText="Remove"  />
                    </Columns>
                    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                    <HeaderStyle BackColor="#99ccff" Font-Bold="True" ForeColor="White" />
                    <EditRowStyle BackColor="#999999" />
                    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                </asp:GridView>

1 个答案:

答案 0 :(得分:0)

尝试此操作以删除元素。

window.onload = function () {

    var grid = document.getElementById('<%=GridView1.ClientID %>');

    var buttons = grid.getElementsByTagName("a");

    for (var i = 0; i < buttons.length; i++) {
        if (buttons[i].innerText === "Remove") {
            var button = buttons[i];
            button.addEventListener("click", handleClick, false);
        }
    }

    function handleClick(evt) {
        this.style.display = "none";
        evt.preventDefault();
    }
}

evt.preventDefault()让我能够测试它,你可能不需要它。