我用下面的
  obj_no = DataGrid1.Items[i].Cells[1].Text;
 i是打勾选中的记录
 cells[1]是obj_no char类型:但存的是’1.1‘,‘1.2.1’之类的,
 cells[2]是obj_nm 也是char类型,但存放的是文字,就可以取出??不知为什么? 还有怎么得到当前页面datagrid的行数?
谢谢

解决方案 »

  1.   

    obj_no = ((TextBox)DataGrid1.Items.Cells[1].Controls[0]).Text;
      

  2.   

    当前页面datagrid的行数?如果无分页,行数是 DataGrid.Items.Count。如果有分页,并且不是最后一页,行数是 DataGrid.PageSize;如果是最后一页,行数是 DataGrid.Items.Count % DataGrid.PageSize。
      

  3.   

    哦,还有问题:
    如果是最后一页,DataGrid.Items.Count % DataGrid.PageSize 结果非零时为行数,为零时行数还是 DataGrid.PageSize。
      

  4.   

    obj_no = DataGrid1.Items[i].Cells[1].Text;
     i是打勾选中的记录
     cells[1]是obj_no char类型:但存的是’1.1‘,‘1.2.1’之类的,
     cells[2]是obj_nm 也是char类型,但存放的是文字,就可以取出??不知为什么?
    //Cells[1]是不是模板列?假如是,是取不出来的,用 FindControl方法取
    ((TextBox)DataGrid1.Items[i].Cells[2].FindControl("ControlClientID")).Text;
     还有怎么得到当前页面datagrid的行数?
    谢谢
    //this.DataGrid1.Items.Count
      

  5.   

    to lxcc(虫子|专注于抢分:   cell[1]不是模板列,我把两字段换个位置,obj_nm可以取出,但obj_no还是取不出!
      

  6.   

    SORRY , 我用了超级模板列,不是绑定列,所以没取出来!但超级模板列,如何链接到其它页面,是怎么一步步做的呢?
      

  7.   

    在html语言里,相应的模板列里面加上
    <asp:LinkButton CommandName="Update"></asp:LinkButton>
    在DataGrid的UpdateCommand事件里定义:
    Response.Redirect("你要转到的页面");