【问题标题】:knockout Data bind to ASP gridview敲除数据绑定到 ASP gridview
【发布时间】:2018-11-24 09:36:18
【问题描述】:

我有一个 ASP.Net 网格视图,我想将其数据绑定到。我想做的是在单击行上的按钮/选择行时更改行的颜色。我想在前端使用 knockoutjs 来完成此操作。做一些非常类似于 this 的事情。 我还没有找到任何可以阐明我将如何将数据绑定到一行并更改所选行的内容。

 <asp:GridView ID="grvAccounts" runat="server" CellPadding="4" ForeColor="#333333" GridLines="Both" AutoGenerateColumns="false" Width="100%" OnRowCommand="grvAccounts_RowCommand1" DataKeyNames="UDField1">
            <AlternatingRowStyle/>
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" 
     />
            <RowStyle BackColor="#EDF3FC" /> 
            <Columns>
                <asp:BoundField ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />
                <asp:TemplateField HeaderStyle-Width="80px" HeaderText="Process">
                    <ItemTemplate>
                        <asp:Button ID="btnProcess" Text="Process" runat="server" CommandName="Process" CommandArgument="<%# Container.DataItemIndex %>" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="UDField1" ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />
                <asp:BoundField DataField="UserID" ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />

 />

                <asp:BoundField DataField="AccountID" ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />
                <asp:BoundField DataField="FirstName" ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />
                <asp:BoundField DataField="LastName" ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />
                <asp:BoundField DataField="MasterID" ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />
                <asp:BoundField DataField="Phone" ItemStyle-CssClass="Hide" HeaderStyle-CssClass="Hide" />
                            <asp:TemplateField HeaderStyle-Width="80px" HeaderText="Download">
                    <ItemTemplate>
                        <asp:Button ID="btnDownload" Text="Download" runat="server" CommandName="Download" CommandArgument="<%# Container.DataItemIndex %>" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

【问题讨论】:

    标签: asp.net knockout.js webforms


    【解决方案1】:
    $(function () {
        $("[id*=GridView1] td").bind("click", function () {
            var row = $(this).parent();
            $("[id*=GridView1] tr").each(function () {
                if ($(this)[0] != row[0]) {
                    $("td", this).removeClass("selected_row");
                }
            });
            $("td", row).each(function () {
                if (!$(this).hasClass("selected_row")) {
                    $(this).addClass("selected_row");
                } else {
                    $(this).removeClass("selected_row");
                }
            });
        });
    });
    

    【讨论】:

    • 您可以将此函数与 jQuery 库一起使用,以便在 gridview 客户端添加颜色,并为脚本中添加的类添加 css,如果它适合您,则将此答案标记为正确
    • 应该是 id*=Gridview 而不是 Gridview1?那么我的css类将是 .Selected_row{ background-color:#bfd8ff} 对吗?
    • 有没有办法从 JS 访问所选行中的数据?
    • 是的,有办法请在堆栈中添加新问题,我会在那里更新您
    猜你喜欢
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多