关于DataGridView的更新,以及更新行的样式问题~ 分不够再开贴加

IT_Fish 2006-11-11 12:08:49
问题背景:
1.WinForm中包含一个DataGridView控件,名为DataGridView1;
2.DataGridView中有很多列,包含有DataGridViewTextBoxColumn和DataGridViewComboBoxColumn;
3.列为DataGridViewComboBoxColumn类型的已经绑定数据库中的不同表的特定字段。

存在问题:
1.当我在DataGridView中输入一行数据时,能把输入数据同步更新到数据库的表中,具体用什么事件来触发,DataGridView中没有提交的按钮;
2.在更新时要对数据库进行检查,要更新的表中某一特定字段的数据是否存在3条或以上相同的,如果存在,则把当前新加数据的行背景色设置为红色;
3.能不能把新增加的一行新数据在满足一定的条件(运算逻辑)时,在更新过后(写进数据库后)不在当前DataGridView中显示出来,但是不满足条件的可以同步显示;
4.顺便再问下,VS.NET2005中有没有[周历]的函数(翻了下MSDN没找到)。


...全文
346 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
踏平扶桑 2006-11-13
  • 打赏
  • 举报
回复
在原来的VS.NET2003中,可以用一下的方式得到一行的值得,可是到2005里该怎么办呢?

datagridview.rows(index).cell(列名/或者index值).value 来获取/设置某行某列的值 如果想获得这条记录的全部值,只需要循环以下columns.count一下来获取就行了
踏平扶桑 2006-11-13
  • 打赏
  • 举报
回复
cellendedit事件只是对一行的单元格操作后触发的,我现在是要在编辑完一行后更新到数据库,是什么时间呢?RowLeave么?好像又有点不对?

这里你可以加入判断语句,比如都不为空值的时候才执行。
IT_Fish 2006-11-12
  • 打赏
  • 举报
回复
在原来的VS.NET2003中,可以用一下的方式得到一行的值得,可是到2005里该怎么办呢?

Dim Item as DataGrid1.Items
For Each Item In DataGrid1.Items
…………
…………
Next Item
踏平扶桑 2006-11-12
  • 打赏
  • 举报
回复
你可以改变datagridview的datascrouse来改变显示的表
IT_Fish 2006-11-12
  • 打赏
  • 举报
回复
cellendedit事件只是对一行的单元格操作后触发的,我现在是要在编辑完一行后更新到数据库,是什么时间呢?RowLeave么?好像又有点不对?
IT_Fish 2006-11-11
  • 打赏
  • 举报
回复
DataGridView的列在绑定别的数据库后,整个DataGridView能再绑定别的表么?
IT_Fish 2006-11-11
  • 打赏
  • 举报
回复
Knight94(愚翁) 大哥说得我不是很懂,在翻书中。。。。。

希望别的朋友再指点下
Knight94 2006-11-11
  • 打赏
  • 举报
回复
to 就是把日期转换成一年中的第几周的第几天,比如今年以1月2号星期一作为开始,那么今天就是第45周第6天,week45.6

这你自己进行换算
IT_Fish 2006-11-11
  • 打赏
  • 举报
回复
就是把日期转换成一年中的第几周的第几天,比如今年以1月2号星期一作为开始,那么今天就是第45周第6天,week45.6
lizhizhe2000 2006-11-11
  • 打赏
  • 举报
回复
4。你是指农历?
Knight94 2006-11-11
  • 打赏
  • 举报
回复
to 1
Auto Saving DataGridView Rows to a SQL Server Database
http://www.codeproject.com/cs/database/DataGridView2Db.asp

to 2
把更新细节处理,用存储来完成

to 3
你用DataView去绑定datagridview,设置rowfilter即可

to 4
不明白什么意思
踏平扶桑 2006-11-11
  • 打赏
  • 举报
回复
我觉得你的问题应该按照3-2-1的顺序来回答 呵呵

3.能不能把新增加的一行新数据在满足一定的条件(运算逻辑)时,在更新过后(写进数据库后)不在当前DataGridView中显示出来,但是不满足条件的可以同步显示;

如果这条数据满足条件并且更新数据库完成,那么remove就可以了(不知道理解错没)



2.在更新时要对数据库进行检查,要更新的表中某一特定字段的数据是否存在3条或以上相同的,如果存在,则把当前新加数据的行背景色设置为红色;

select count(这个字段中符合条件的记录) 如果大于=3,设置条记录在datagridview中
的行的背景色

1。当我在DataGridView中输入一行数据时,能把输入数据同步更新到数据库的表中,具体用什么事件来触发,DataGridView中没有提交的按钮;

在datagridview中的cellendedit事件中触发更新语句(要注意获取更改的行的位置,建议在cellbeginedit中获取这个行的位置。),先判断3,然后2,然后这个。


4.顺便再问下,VS.NET2005中有没有[周历]的函数(翻了下MSDN没找到)。



自己算。。。呵呵

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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