флажок в строке вида на стороне клиента - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть gridview, в котором есть столбцы с установленными флажками. Рядом с установленными флажками метки, отображающие даты в зависимости от того, установлен ли флажок. (Я удалил некоторые здесь для упрощения)

Что я хочу сделать, так это запустить даже щелчок установленного флажка и отобразить / скрыть метку в столбце этой строки. Я пробовал несколько различных методов, но не могу заставить его работать.

Любая помощь будет принята с благодарностью

1007 *

    function ShowHide(rowId, chk, lbl) {

        if (chk.checked == true) {
            document.getElementById(lbl).style.display ="block";
        }
        if (chk.checked == false) {
            document.getElementById(lbl).style.display ="none";
        }
    }

<asp:GridView ID="grd" ClientIDMode="Static" runat="server" 
                Width="100%" DataKeyNames="ID" AutoGenerateColumns="False" GridLines="Vertical"
                CellPadding="4" AllowPaging="false" AllowCustomPaging="false" PageSize="25" PagerStyle-Visible="False"
                ShowFooter="true"  OnRowDataBound="grd_RowDataBound">
                <Columns>

                    <asp:TemplateField HeaderText="Address">
                        <ItemTemplate>
                            <asp:Label ID="lblAddress" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Address") %>'></asp:Label>
                              <asp:HiddenField ID="ID" runat="server" Value='<%# DataBinder.Eval(Container,"DataItem.ID") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>

                     <asp:TemplateField HeaderText="Moved Date">
                        <ItemTemplate>
                            <asp:CheckBox ID="chkMove" ClientIDMode="Static" runat="server"></asp:CheckBox>
                             <asp:Label ID="lblMove" ClientIDMode="Static" runat="server"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                </Columns>
</asp:GridView>



protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                CheckBox chk = (CheckBox)e.Row.FindControl("chkMove");

                Label lbl = (Label)e.Row.FindControl("lblMove");

                chk.Attributes.Add("onClick", "ShowHide(" + e.Row.rowId + "," + chk.UniqueID + "," + lbl.UniqueID + ")");
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...