DataGridView问题 欢迎讨论

yoyo_fan_503 2010-09-29 03:52:40
1、
Winform中DataGridView的AllowUserToAddRows为true;
当在最后一行输入值的时候,会默认自动在末尾添加新的一行,这个是触发系统的哪个事件呢。
如何代码实现这个功能呢?
2、
使用 dgv.Rows.Add() 可以添加新的一行,但是默认是显示在选择行的上面,而不是末尾,该如何解决呢?
...全文
180 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoyo_fan_503 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 yoyo_fan_503 的回复:]
引用 18 楼 wuyq11 的回复:
DataGridView的AllowUserToAddRows属性为True时也就是允许用户追加新行的场合下,DataGridView的最后一行就是新追加的行(*行)
DataGridView.Rows.Add()默认就是追加在最后
设置位置
dataGridView.Rows.Insert(rowsIndex,new object[]{"",""}……
[/Quote]
不过还是很想知道add和insert的区别……
yoyo_fan_503 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wuyq11 的回复:]
DataGridView的AllowUserToAddRows属性为True时也就是允许用户追加新行的场合下,DataGridView的最后一行就是新追加的行(*行)
DataGridView.Rows.Add()默认就是追加在最后
设置位置
dataGridView.Rows.Insert(rowsIndex,new object[]{"",""} );
[/Quote]

非常感谢如梦兄……。
yoyo_fan_503 2010-09-30
  • 打赏
  • 举报
回复
The Insert(Int32, array<Object>[]()[]) method adds an unshared row to the DataGridViewRowCollection.

add method add a blank row at the end......

  • 打赏
  • 举报
回复
接分
yoyo_fan_503 2010-09-30
  • 打赏
  • 举报
回复
likedefly 2010-09-29
  • 打赏
  • 举报
回复
忘记是不是有insert这个方法,因为我很少用VS自带的控件
wuyq11 2010-09-29
  • 打赏
  • 举报
回复
DataGridView的AllowUserToAddRows属性为True时也就是允许用户追加新行的场合下,DataGridView的最后一行就是新追加的行(*行)
DataGridView.Rows.Add()默认就是追加在最后
设置位置
dataGridView.Rows.Insert(rowsIndex,new object[]{"",""} );
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
顶起……
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
很想知道 系统是怎么操作 实现提交这个功能的
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 w_f_y4422 的回复:]
引用 12 楼 yoyo_fan_503 的回复:
这条记录因为实际不存在。如何能获取到这个Row然后提交?

获取它的值根其他行一样的。NewRowIndex能找到它的索引.至于想让它提交,然后自动添加新行,我认为只有Add()了。
[/Quote]
唉…… 只能先添加一个空行,然后把值赋给这个空行的cell。
不能直接对未提交的row进行add操作
w_f_y4422 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yoyo_fan_503 的回复:]
这条记录因为实际不存在。如何能获取到这个Row然后提交?
[/Quote]
获取它的值根其他行一样的。NewRowIndex能找到它的索引.至于想让它提交,然后自动添加新行,我认为只有Add()了。
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
这条记录因为实际不存在。如何能获取到这个Row然后提交?
yyj135 2010-09-29
  • 打赏
  • 举报
回复
请帮忙看一下这个问题:
http://topic.csdn.net/u/20100928/11/299dcda9-6844-4c95-bee7-971802476bc4.html
谢谢!
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 w_f_y4422 的回复:]
你只是设置了某一单元格的值,当然不会自动添加新空行,如果使用rows.Add()就可以了。至于直接输,就相当于rows.Add()了啊……
[/Quote]
嗯。没错。就是这个意思。
请教下,用什么办法提交呢?
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
我没表达清楚。不好意思。
我的意思是在第三点中。如果用赋值的办法。这一条记录DataGridView默认它还在编辑,而没有储存起来,左边还有一个“*”在,如果是用键盘输入或复制黏贴的办法,DataGridView会生成一空行,这个“*”就会自动跳到这个空行
w_f_y4422 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yoyo_fan_503 的回复:]
补充一点:3、
如果不是直接在cell里输入值,使用 dgv.Rows[0].Cells[0].Value = "Test";
DataGridView也不会自动添加新空行。 这是为什么呢?怎么解决呢?
[/Quote]
你只是设置了某一单元格的值,当然不会自动添加新空行,如果使用rows.Add()就可以了。至于直接输,就相当于rows.Add()了啊,你要是在新行的前面那些行输,并不会又增一行啊。新增的那行属于“未提交行”,只有变成了真正的行,才会自动增加新行。
wjf_78 2010-09-29
  • 打赏
  • 举报
回复
学习学习
NT5763 2010-09-29
  • 打赏
  • 举报
回复
进来学习
yoyo_fan_503 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sorry_rr 的回复:]
DataGridView本身不是有自动增加一行的功能吗?
[/Quote]
见 补充的 第三点。
加载更多回复(3)

111,094

社区成员

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

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

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