一个c#中关于dadagrid的问题
大家好,我在dadagrid中设置了5个列,分别与数据库中的字段相对应,其中userid列是主健.他的值是自增的,我在dadagrid中设置一个空列用来与userid进行帮定,并将其隐藏,当我想通过语句删除其中的一列时,是根据隐藏列userid来删除记录的:private void button4_Click(object sender, EventArgs e)
{
//获得选中的索引
int index = UserDgv.SelectedRows[0].Index;
//初始化SqlCommand对象
SqlCommand newCmd = new SqlCommand();
//根据隐藏列UserID删除记录
newCmd.CommandText = "DELETE FROM UserInfor WHERE UserID=@UserID";
//填充参数类型和参数值
newCmd.Parameters.Add("UserID", SqlDbType.Int);
newCmd.Parameters["UserID"].Value = UserDgv.Rows[index].Cells["UserID"].Value.ToString();
//执行Delete语句
DBManage.ExecuteNonQuerySql(newCmd);
FillUserInfor();
}
但调试的时候说找不到,提示:"Column named UserID cannot be found."是怎么回事啊? --------------------编程问答-------------------- 你的隐藏列是怎么设置的,调试看看有没有值. --------------------编程问答-------------------- VS2003中可以获取隐藏列数据,你用的是VS2005,隐藏列是获取不到的 --------------------编程问答-------------------- 可以在DataGrid的RowCreated设置:
e.Row.Cells[隐藏列索引号].Visible = false;
--------------------编程问答-------------------- 补充:不要直接设置隐藏列,通过RowCreated事件处理程序设置 --------------------编程问答-------------------- 你可以在RowCreated事件中把你需要的那列隐藏
e.Row.Cells[隐藏列索引号].Visible = false;
,然后通过DataGridView.CurrentRow.Cells[i].Value 得到i列的值. --------------------编程问答-------------------- int index = UserDgv.SelectedRows[0].Index;
这个值是什么?
dadagrid中设置了5个列
这五个列中包含删除列,还是删除的那个是在grid外? --------------------编程问答-------------------- protected void gvSecondIndustry_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[5].Visible = false;
}
这样可以吗.需要引入什么命名空间啊 --------------------编程问答-------------------- Net/C#交流区〓 [7729746]
C# / .Net 交流社团 聊技术,项目合作。
[7729746] 〓 .Net/C#交流区〓 绝对 VS平台 牛群....
欢迎有项目经验的朋友入易做图流。。.
Blogs http://zhoufleru.cnblogs.com
补充:.NET技术 , C#