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" >
……
  <extinkButtonField 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