当项目已经在let lastSectionIndex = tableView.numberOfSections-1
let lastSectionLastRow = tableView.numberOfRowsInSection(lastSectionIndex) - 1
let lastIndexPath = NSIndexPath(forRow:lastSectionLastRow, inSection: lastSectionIndex)
let cellIndexPath = tableView.indexPathForCell(cell)
var cell
if cellIndexPath == lastIndexPath {
cell = tableView.dequeueReusableCellWithIdentifier("JoinFooterCell") as! JoinFooterCell
}
else {
cell = tableView.dequeueReusableCellWithIdentifier(reuseIdentifier, forIndexPath: indexPath) as! JoinCell
}
时存在问题,然后当我再次输入相同的项目时,数量和总数不会增加或添加。它只会列出相同的项目。
e.g。
DataGridView
输入条形码Item Code ProductName Unit Item Description Price Quantity Total Discount
06-098 Biogesic 500mg Paracetamol 5.50 1 5.50 0.00
,它会列出TextBox
中的项目。
这是我的代码:
DataGridView
答案 0 :(得分:0)
我做的是遍历datagridview并查找我要插入的匹配记录,如果有一个列添加+1,如果没有插入该行。
示例:
For each row as DataGridViewRow in datagridview1.Rows
If row.Cells(0).Value = dr("ID") Then
row.Cells(6).Value = Integer.Parse(row.Cells(6).Value) + 1
Exit Sub 'Exit Sub for the purpose of not triggering the row add code since there is an existing record already.
End IF
Next
datagridview1.rows.add(....)
答案 1 :(得分:0)
在将数据放入datagridview之前,您应该使用数据处理此问题。然后,当您拥有正确的数据时,您可以将其设置为数据源。
此外,您需要使用数据表而不是逐行读取记录。填充数据表看起来像这样..
Dim myTable = new DataTable
Using adapter = New SqlDataAdapter(cmd)
adapter.Fill(myTable)
End Using
编辑数据表看起来像这样..
For x as Integer = myTable.rows.Count - 1 to 1
For y as Integer = x - 1 to 0
If myTable.rows(x).Item("Item Code") = myTable.rows(y).Item("Item Code") Then
myTable.rows(x).Item("Quantity") = myTable.rows(x).Item("Quantity") + 1
myTable.rows(x).Item("Total") = myTable.rows(x).Item("Total") + myTable.rows(y).item("Total")
myTable.rows(y).Delete()
End If
Next
Next
myTable.acceptChanges()
dgv.dataSource = myTable 'this will put all rows from myTable into the dgv
希望这有帮助!