DataGridView 插入行问题?

yangbinkk 2007-06-10 10:56:42
dataGridView1.Rows.Insert(dataGridView1.CurrentRow.Index)
我用上面的方法插入新行,在原有行上插入没有问题,若在新插入行上再插入,就会出错,错误提示是行的索引有问题。
在插入的新行编辑过再插入新行又不会有问题。

在插入新行后该如何处理才能避免在新插入行上插入出现错误?
...全文
994 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
QuinsonYue 2007-06-11
  • 打赏
  • 举报
回复
插入后必须结束dataGridView1的编辑状态,试试这个
dataGridView1.Rows.Insert(dataGridView1.CurrentRow.Index);
dataGridView1.endedit();
yangbinkk 2007-06-11
  • 打赏
  • 举报
回复
我没绑定有数据源,dataGridView只是用来输入数据,然后提交!
YUAN168 2007-06-11
  • 打赏
  • 举报
回复
应该 是在你绑定的数据源上加一行吧...

dataRow dr=this.dataTalbe.newrow();
this.dataTable.rows.add(dr);

........
yangbinkk 2007-06-11
  • 打赏
  • 举报
回复
能说具体点吗?有没有例子?
aying996 2007-06-11
  • 打赏
  • 举报
回复
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
LoadDatagrid();
}

public DataGridView dgv;
public void LoadDatagrid()
{
dgv = new DataGridView();
dgv.Size = new Size(300,300);
dgv.Location = new Point(0,0);
//--------------------------添加列、输入数据等-----------------





//----------------------------------------------------------
this.Controls.Add(dgv);
}

private void button1_Click(object sender, EventArgs e)
{
//-----------数据操作、增加删除等``------------




//--------------------------------------
LoadDatagrid();
}
}
yangbinkk 2007-06-11
  • 打赏
  • 举报
回复
仍然不行!
aying996 2007-06-10
  • 打赏
  • 举报
回复
我知道,你没有重新加载
你要实现这个功能最好不要拉控件
搞个方法(LoadDgv())去加载DataGridView 然后插入新行后重新执行刚才的方法(LoadDgv())``就没问题了

你出错的地方是因为你是拉控件的 在窗体初始化的时候加载的,当你插入一行当然没错
但是再插入一行就肯定错了,明白了吗?

110,538

社区成员

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

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

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