この問題は、次の行の値に基づいてセルの値を設定していました。vb.netを使用しているdatagridviewの次の行のデータに基づいて現在の行の値を設定する方法
たとえば、
Remarks Reference
A 50
A 25
B 5
-25
ケース1:
列「リファレンス」の次のCell.Rowの値が正の数の列「備考」でcell.rowの値である場合は「A」です。
CASE 2:
列「リファレンス」の次のCell.Rowの値が負の数であれば、カラム「解説」でcell.rowの値が「B」です。
私はすでにこのコードを試しましたが、私は必要な結果を得ることができません。
Dim Bal As Decimal = 0
For Each r As DataGridViewRow In dgvSTSub.Rows
Bal = Bal + r.Cells(3).Value - r.Cells(1).Value
r.Cells(3).Value = Bal
If Bal > 0 Then
r.Cells(2).Value = Bal
ElseIf Bal < 0 Then
r.Cells(2).Value = r.Cells(3).Value
End If
Next
私にコードを教えてください。
あなたが発言を設定されている場合、これはあなたにそれを達成するためにどのようにいくつかのアイデアを取得する必要がありますが示されていないとして
(あなたがすでにあることを知っ願っています) 'foreach'の代わりに' for'ループを使います。また、インデックスではなく、列名に基づいてセル値にアクセスします。あなたの質問を理解するごとに、次の行の値に基づいて現在の行を操作したいと思いますか? –
私はこの同じ質問を別の場所で取り上げましたが、それは無視されたようです。これも無視しないでください。 'For Each'ループの代わりに' For'ループを使用してください。この場合、アクセスする行と隣接する行は、ループカウンタをインクリメントまたはデクリメントする単純な問題です。あるいは、現在の行の 'Index'プロパティを取得してそれと同じです。最初のオプションは、2番目の行から始めることも、2番目の最後の行から終了することもできます。 – jmcilhinney
あなたの提案を無視して申し訳ありませんが、私はちょうどvb.netで新しいです。実際に私は私にそれを行う方法がわからないので、いくつかのコードを共有する以前に返信しました。私は論理を理解できません。私の謝罪の仲間。助けてくれてありがとう。 – Diaval