【问题标题】:Datagrid getting selected value (delete xml node)Datagrid获取选定值(删除xml节点)
【发布时间】:2011-05-30 20:32:18
【问题描述】:

假设我的数据网格中有 2 列:

    <asp:View ID="viewRemove" runat="server">
        <asp:DataGrid ID="dgRemove" runat="server" AutoGenerateColumns="False" OnDeleteCommand="dg_DeleteCommand">
            <Columns>
                <asp:BoundColumn DataField="name" HeaderText="names" />
                <asp:ButtonColumn ButtonType="PushButton" Text="Delete" CommandName="Delete" ></asp:ButtonColumn>
            </Columns>
        </asp:DataGrid>  
    </asp:View>

第一列显示来自 xml 文件的名称,按钮列只保留删除按钮,因此我可以删除它左侧的相应项目(第一列)。

我如何准确地检索/传递这个选定的值给函数? 换句话说,当我按下名称右侧的按钮时,它会传递该值,因此我可以使用它来删除相应的 xml 节点。 (使用 XPath)

    XmlDocument XMLDoc = new XmlDocument();
    XMLDoc.Load(file);
    XPathNavigator nav = XMLDoc.CreateNavigator();

    var node = nav.SelectSingleNode("/root/name['" + ??? + "']");
    node.DeleteSelf();
    XMLDoc.Save(file);

谢谢。

【问题讨论】:

    标签: c# asp.net xml datagrid


    【解决方案1】:
    <asp:TemplateColumn HeaderText="Some Button">
       <ItemTemplate>
       <asp:LinkButton id="LinkButton1" runat="server" CommandArgument='
    <# Eval   ("name") %>' >LinkButton</asp:LinkButton>
       </ItemTemplate>
    </asp:TemplateColumn>
    

    【讨论】:

    • 如果可能的话,能不能再解释一下?我不确定你到底是什么意思。谢谢!
    • 我不习惯默认的 ASP.NET 控件,因为我使用的是 DevExpress。所以我用谷歌搜索(你应该这样做:P)如何将参数传递给 ButtonColumn 并找到了一个建议这个的论坛帖子。这会在单元格中放置一个链接,您还可以传递一个参数,在这种情况下,是名称单元格的值。
    猜你喜欢
    • 1970-01-01
    • 2021-12-18
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2013-08-12
    相关资源
    最近更新 更多