有没有人知道如何在Subsonic 3中使用gridview删除功能? 我试图删除没有在gridview中显示主键的行,所以我不能从gridview行中提取该数据。我想知道是否有办法使用DataKeyNames属性。
谢谢..
答案 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可能是也可能不是正确的,取决于排序或过滤?
希望这有帮助。