首页 新闻 搜索 专区 学院

NHibernate

0
悬赏园豆:30 [已关闭问题] 关闭于 2012-03-13 22:16

e.rowindex有值,但为什么会提示索引越界,是啥原因

 

 

我想知道泛型数据集和DataList数据集在绑定到GridView时有啥区别,就是我要在GridView里面加了个模版列,然后添加一个ImageButton做删除,当我在获取GridView的行索引的时候出现了问题,提示超出行索引,是不是因为泛型类型的数据集不能这羊获取索引呀,请各位高手指点一下。

问题补充:

这个泛型数据集是我在用学习NHibernate时茶出来的

简单点,再简单点的主页 简单点,再简单点 | 初学一级 | 园豆:4
提问于:2012-03-13 10:44
< >
分享
所有回答(3)
0

e.RowIndex是在什么事件中写的。我是这样写的:

//修改现有费用类别
protected void btnModify_Click(object sender, ImageClickEventArgs e)
{
GridViewRow row = (GridViewRow)((ImageButton)sender).NamingContainer;
DataKey key = this.gdvCostCategory.DataKeys[row.DataItemIndex];

this.hideGuid.Value = key["GUID"].ToString();
this.txtCategoryName.Text = key["类型名称"].ToString();
this.cmbCategoryType.SelectedValue = key["收支类型"].ToString();
this.cbtCategoryState.Checked = (key["使用状态"].ToString() == "启用");

ViewState["Operate"] = "Update";
this.txtDialogTitle.Text = "修改费用类型";
this.ModalPopupExtender1.Show();
}

悟行 | 园豆:12371 (专家六级) | 2012-03-13 10:54

是在rowdeleting中写的  我记得在这个事件中获取所选行的主键值就是这样获取的呀,为啥会说索引值越界,和绑定到GridView的数据集类型有关系吗

0

你的错误是数组下标越界

az235 | 园豆:8283 (大侠五级) | 2012-03-13 10:55
0

 protected void Bind()
    {
        gv.DataSource = PersonHandle.Get(tb_name.Text);
        gv.DataKeyNames = new string[] { "PersonId" };
        gv.DataBind();
       
    }

  gv.DataKeyNames = new string[] { "PersonId" };要写在中间

简单点,再简单点 | 园豆:4 (初学一级) | 2012-03-13 22:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册