Vb.net 在DataGridView中的空行后重置/增加编号
我是Vb.net的初学者,所以请记住我的知识:)我现在开发的winform应用程序的格式来自Excel,用户每天输入以下内容: 无|件|数量|管|小计Vb.net 在DataGridView中的空行后重置/增加编号,vb.net,Vb.net,我是Vb.net的初学者,所以请记住我的知识:)我现在开发的winform应用程序的格式来自Excel,用户每天输入以下内容: 无|件|数量|管|小计 1 | ABC123 | 10.4 | 1 | 2 | ABC456 | 10.3 | 1 | 3 | ABC789 | 10.1 | 1 | 30.8 (空行) 1 | ABC012 | 10.9 | 2 | 2 | ABC234 | 10.2 | 2 | 3 | ABC765 | 10.4 | 2 | 4 | ABC876 | 10.8
1 | ABC123 | 10.4 | 1 |
2 | ABC456 | 10.3 | 1 |
3 | ABC789 | 10.1 | 1 | 30.8
(空行)
1 | ABC012 | 10.9 | 2 |
2 | ABC234 | 10.2 | 2 |
3 | ABC765 | 10.4 | 2 |
4 | ABC876 | 10.8 | 2 | 42.3
(空行)
1 | ABC567 | 10.6 | 3 | 10.6
总计:83.7 在excel中,有以下公式:
-在空行后重置编号
-空行后将管号增加1 编号和管ID都是自动填充的 数据由用户输入。用户将故意跳过一行(空白)以放入“工件”,并且“管”将自动增加1。同时,“小计”也将自动计算 老实说,我什么都没试过,因为我对从哪里开始一无所知!这绝对不是使用Datagridview>输入数据的常用方式 我的问题是,这在Datagridview中可行吗?用户可以以这种方式键入空白行和小计吗?如果没有,是否有其他选择?谢谢大家! 这只是一个示例(无验证输入),您必须有一个DataGridView(myDGV)和五列(no、Piece、Qty、Tube和SubTotal),两个文本框(txtPiece、txtQty)和两个按钮(btnAdd、btnSkip): 如果您想获得总计,您可以更改btnSkip_点击程序,如下所示:
Private Sub btnSkip_Click(sender As Object, e As EventArgs) Handles btnSkip.Click
If myDGV.RowCount = 0 Then
MessageBox.Show("Can't skip, No Data")
Exit Sub
End If
If myDGV.Item(0, myDGV.RowCount - 1).Value Is "" Then
MessageBox.Show("Can't More skip, No Data")
Exit Sub
End If
Dim mySub As Long = 0
Dim myGrand As Long = 0
Dim myStts As Boolean = False
For myCnt As Integer = myDGV.RowCount To 1 Step -1
If myDGV.Item(0, myCnt - 1).Value Is "" Then
myStts = True
End If
Dim mySubTtl As Long = 0
If myStts = False Then mySub += Long.Parse(myDGV.Item(2, myCnt - 1).Value.ToString)
Long.TryParse(myDGV.Item(2, myCnt - 1).Value.ToString, mySubTtl)
myGrand += mySubTtl
Next
myDGV.Item(4, myDGV.RowCount - 1).Value = mySub
If myDGV.ColumnCount = 6 Then myDGV.Columns.Remove(myDGV.Columns(5))
myDGV.Columns.Add("GrandTotal", "Grand Total")
myDGV.Item(5, myDGV.RowCount - 1).Value = myGrand
myDGV.Rows.Add("", "", "", "", "")
End Sub
如何将数据输入到datagridview?何时插入空行?什么时候计算小计?对不起,我的问题漏掉了这一点。数据由用户输入。用户将故意跳过一行(空白)以放入“工件”,并且“管”将自动增加1。同时,“小计”也将自动计算。我已经编辑了这个问题,包括如何输入数据。这真是太神奇了!我现在要做的就是将这些数据插入数据库。非常感谢你!!
Private Sub btnSkip_Click(sender As Object, e As EventArgs) Handles btnSkip.Click
If myDGV.RowCount = 0 Then
MessageBox.Show("Can't skip, No Data")
Exit Sub
End If
If myDGV.Item(0, myDGV.RowCount - 1).Value Is "" Then
MessageBox.Show("Can't More skip, No Data")
Exit Sub
End If
Dim mySub As Long = 0
Dim myGrand As Long = 0
Dim myStts As Boolean = False
For myCnt As Integer = myDGV.RowCount To 1 Step -1
If myDGV.Item(0, myCnt - 1).Value Is "" Then
myStts = True
End If
Dim mySubTtl As Long = 0
If myStts = False Then mySub += Long.Parse(myDGV.Item(2, myCnt - 1).Value.ToString)
Long.TryParse(myDGV.Item(2, myCnt - 1).Value.ToString, mySubTtl)
myGrand += mySubTtl
Next
myDGV.Item(4, myDGV.RowCount - 1).Value = mySub
If myDGV.ColumnCount = 6 Then myDGV.Columns.Remove(myDGV.Columns(5))
myDGV.Columns.Add("GrandTotal", "Grand Total")
myDGV.Item(5, myDGV.RowCount - 1).Value = myGrand
myDGV.Rows.Add("", "", "", "", "")
End Sub