修改datagirdview单元格值事件?

pengxin0129 2010-03-28 12:41:36
我在datagirdview中有cells[4]和cells[8],开始都为空,cells[4]为只读,cells[8]可以点击编辑,要求点击cells[8]填写值之后,cells[8]中的值也赋给cells[4]。我查了一下用CellsValueChange()事件直接
datagridview.rows[e.rowsindex].cells[4].value = datagridview.rows[e.rowsindex].cells[8].value.tostring();
这样子写老是说索引出错,越界。不晓得这个改如何写,请教
...全文
65 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2010-03-28
  • 打赏
  • 举报
回复
try...

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].Cells[4].Value = dataGridView1.Rows[e.RowIndex].Cells[8].Value;
}
lzsh0622 2010-03-28
  • 打赏
  • 举报
回复

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == 8)
{
this.dataGridView1[4, e.RowIndex].Value = this.dataGridView1[8, e.RowIndex].Value;
}
}
lzsh0622 2010-03-28
  • 打赏
  • 举报
回复
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == 8)
{
this.dataGridView1.Rows[e.RowIndex].Cells[8].Value = this.dataGridView1.Rows[e.RowIndex].Cells[11].Value;
}
}
pengxin0129 2010-03-28
  • 打赏
  • 举报
回复
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{

if (e.RowIndex != -1)
{
this.dataGridView1.Rows[e.RowIndex].Cells[8].Value = this.dataGridView1.Rows[e.RowIndex].Cells[11].Value;
}
}
我这么修改就行了。加了个判断
pengxin0129 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(e.RowIndex.ToString());
MessageBox.Show(e.ColumnIndex.ToString());
}
看看RowIndex
[/Quote]

一开始运行就谈出e.rowindex为-1,怎么我还没改变哪个地方的值就运行该事件了。这个改怎么修改呢
wuyq11 2010-03-28
  • 打赏
  • 举报
回复
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(e.RowIndex.ToString());
MessageBox.Show(e.ColumnIndex.ToString());
}
看看RowIndex
-过客- 2010-03-28
  • 打赏
  • 举报
回复
断点看一下e.RowIndex是什么,确认一下,这一行是否有Cells[4]和Cells[8]
pengxin0129 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxcnn 的回复:]
try...


C# code
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].Cells[4].Value = dataGridView1.Rows[e.RowIndex].Cells[8].……
[/Quote]
这个也试过,也的说超过索引范围,不晓得是怎么回事

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧