亚音速和gridview控件删除

时间:2009-09-04 15:40:16

标签: asp.net gridview subsonic

有没有人知道如何在Subsonic 3中使用gridview删除功能? 我试图删除没有在gridview中显示主键的行,所以我不能从gridview行中提取该数据。我想知道是否有办法使用DataKeyNames属性。

谢谢..

2 个答案:

答案 0 :(得分:2)

想出来:

这就是你要做的:

<asp:GridView ID="PageGrid" runat="server" OnRowDeleting="DeleteTheRow" AutoGenerateDeleteButton="true"
    AutoGenerateColumns="false" CssClass="centeredTableList" DataKeyNames="page_id">
    <Columns>
        <asp:BoundField DataField="page_name" HeaderText="Page Name" />
        <asp:HyperLinkField Text="Edit" DataNavigateUrlFormatString="p={0}"
            DataNavigateUrlFields="page_id" HeaderText="Edit"/>
    </Columns>
</asp:GridView>



protected void DeleteTheRow(Object sender, GridViewDeleteEventArgs e)
{
    int i = Convert.ToInt32(PageGrid.DataKeys[e.RowIndex].Value);    
}

答案 1 :(得分:0)

我不确定这是否与基于网络的网格有关,甚至是否适用,但我通常使用一个BindingSource来填充我的“亚音化”项目,如

bindingsource.DataSource = new ItemColleciton.Load();

然后当你需要当前选择的内容时,我会得到Item,例如

int pk = (bindingSource.Current as Item).PrimaryKey;

这样我觉得你得到了精选的记录,因为RowIndex ina grid可能是也可能不是正确的,取决于排序或过滤?

希望这有帮助。