日期:2014-05-17  浏览次数:20493 次

DataGrid删除当前行的问题
我在datagrid里放了一个模版列,里面是一列图标,点击图标(Onclick)会调用一个cmdRemove_Click的方法。


<asp:TemplateColumn>
                <ItemTemplate> 
                <asp:ImageButton ID="cmdRemoveLine" runat="server" width="20" ImageUrl="~/images/delete.gif" CausesValidation="false" OnClick="cmdRemove_Click" ToolTip="Remove Line" />
            </ItemTemplate> 
</asp:TemplateColumn>



想要通过这个 cmdRemove_Click 方法实现删除当前行的操作,求教如何实现。
或者使用其他方法实现删除当前行也行,
新手菜鸟求助,万分感谢
------解决方案--------------------
利用命名容器逐层往上取
之前用的GridView
对于OnClick
GridViewRow row = (sender as Button).NamingContainer as GridViewRow;
int pk = (int)this.GridView1.DataKeys[row.RowIndex].Value;
//删除ByPK

如果用的OnCommand处理,可以用(e.CommandSource as Button)...

没用过datagird,应该差不多
------解决方案--------------------
你可以调试看一下NamingContainer是什么