FineUI 官方论坛
标题:
Grid删除时错误!
[打印本页]
作者:
蓝色海底
时间:
2014-2-14 10:27
标题:
Grid删除时错误!
本帖最后由 蓝色海底 于 2014-2-14 10:30 编辑
删除时错误,提示“序列不包含任何元素”,原因是 string steID =GetSelectedDataKeyID(Grid1); ,因为steID是空值,不知道怎样让删除时间获取Grid删除行的主键值。
<ext:Grid ID="Grid1" ShowBorder="true" BoxFlex="1" Title="表格" runat="server" OnRowCommand="Grid1_RowCommand" EnableRowNumber="true" EnableMultiSelect="false"
DataKeyNames="st_id" >
……
<ext
inkButtonField TextAlign="Center" Width="60px" Icon="Delete" ToolTip="删除" ConfirmText="确认删除?" CommandName="Delete" ColumnID="deleteField"/>
后台删除方法:
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string steID =GetSelectedDataKeyID(Grid1); if (e.CommandName == "Delete") {
DatastudentDataContext DBstu = new DatastudentDataContext(); student stu = DBstu.student.Single(b => b.st_id == Convert.ToString(steID ); DBstu.student.DeleteOnSubmit(stu); DBstu.SubmitChanges(); BindGrid(); } } protected string GetSelectedDataKeyID(Grid grid) { string id = ""; int rowIndex = grid.SelectedRowIndex; if (rowIndex >= 0) { id = Convert.ToString (grid.DataKeys[rowIndex][0]); } return id; }
作者:
sanshi
时间:
2014-2-14 11:12
官方示例有很多获取主键的例子,看一下,这个是基本知识
作者:
蓝色海底
时间:
2014-2-14 11:47
本帖最后由 蓝色海底 于 2014-2-14 11:54 编辑
谢谢,已解决!其实语句用的是官方的,不是语句问题,而是Grid放在 if (!IsPostBack)外,因页面刷新引起的,可以我用回发父页面时Grid放在 if (!IsPostBack)内不回发,只有放在外面回发,不知道是原因!
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4