关于vb.net中的datagridview录入数据的问题!

huahaiqq 2008-03-03 09:42:28
各位大虾好!小弟现在用的是vb.net,打算用未绑定数据的datagridview来录入数据,然后通过逐行判断的方式录入数据库.现在遇到一下几个问题:
一:如何判断某列的内容是否为空(注意:是一整列),以便提示用户完成填写.
二:如何设置某列的格式为小数"0.00的样式"--例如输入"123",该列单元格内显示为"1.23".
三:如何实现自动计算.---例如当第二列与第三列输入数据后,第四列即时计算并显示出两者之积.
四:如何实现数据库查询.---有两个datagridview.当在datagridview1(未绑定数据)的第2列输入数据时,datagridview2(与datetable绑定)即时在查询结果反馈出来.(有点类似于textbox的chang事件).
五:如何在(光标)焦点离开某列单元格时自动搜索数据库,判断有无与输入内容相符的记录.并msgbox出来.
暂时就想到那么多了.小弟我试了好久都没成功.希望各位大哥大姐能帮帮忙啊!
如有答复请加小弟qq:353987310
或者E-mail:gra93@163.com
(补充:小弟是菜鸟,希望能有详细点的源码哦!)
谢谢各位了!!!
...全文
244 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟A队 2008-03-03
  • 打赏
  • 举报
回复
前三项
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim a As Integer = 0
Dim b As Decimal = 1

If DataGridView1.RowCount > 0 Then

For j As Integer = 0 To DataGridView1.Columns.Count - 2
For i As Integer = 0 To DataGridView1.RowCount - 2
If DataGridView1.Rows(i).Cells(j).Value = Nothing Or IsDBNull(DataGridView1.Rows(i).Cells(j).Value()) Then
a += 1
Else
DataGridView1.Rows(i).Cells(j).Value = Me.change(DataGridView1.Rows(i).Cells(j).Value().ToString)
End If
Next
If a = DataGridView1.RowCount - 1 Then
MsgBox("此列不能全为空")
Exit Sub
End If
a = 0
Next

For x As Integer = 0 To DataGridView1.RowCount - 2
For y As Integer = 0 To DataGridView1.Columns.Count - 2
If DataGridView1.Rows(x).Cells(y).Value = Nothing Or IsDBNull(DataGridView1.Rows(x).Cells(y).Value()) Then
b *= 1
Else

b *= CDec(Me.change(DataGridView1.Rows(x).Cells(y).Value()))
End If
Next
DataGridView1.Rows(x).Cells(DataGridView1.Columns.Count - 1).Value() = b
b = 1
Next

End If
Catch ex As Exception

End Try

End Sub

Private Function change(ByVal shu As String) As String

Try
If shu.Length = 2 Then
shu = shu.Insert(0, "0.")
ElseIf shu.Length = 1 Then
shu = shu.Insert(0, "0.0")
Else
If InStr(shu, ".") <= 0 Then
shu = shu.Insert(shu.Length - 2, ".")
End If
End If

Catch ex As Exception

End Try
Return shu
End Function
huahaiqq 2008-03-03
  • 打赏
  • 举报
回复
谢谢各位老大哦!坚决给分!
菜鸟A队 2008-03-03
  • 打赏
  • 举报
回复
1 Try
Dim a As Integer = 0
If DataGridView1.RowCount > 0 Then


For j As Integer = 0 To DataGridView1.Columns.Count - 1
For i As Integer = 0 To DataGridView1.RowCount - 2
If DataGridView1.Rows(i).Cells(j).Value = Nothing Then
a += 1
End If
Next
If a = DataGridView1.RowCount - 1 Then
MsgBox("此列不能全为空")
Exit Sub
End If
a = 0
Next
End If
Catch ex As Exception

End Try
beijing__2008 2008-03-03
  • 打赏
  • 举报
回复
一: 不知道你想怎么判断 如果触发时间的话写个循环就好了
二: 写个方法判断将输入数据转换成"1.23"格式
三: 同上写个方法计算 用的时候到用就可以了
四: 用cellvaluechanged 事件就可以
五: 用cellEndEdit 事件就可以
herol 2008-03-03
  • 打赏
  • 举报
回复
http://tag.csdn.net/tag/datagridview.xml

这里应该基本包括所有问题,看看吧

16,554

社区成员

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

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