-1

2 つのボタンと 6 列のデータグリッドを含む画面があります。ボタン 1 を押すと、列 1 から 4 までの行にデータが表示されます。ボタン 2 を押すと、アプリケーションで行の残りの列 (つまり、列 5 と 6) にデータを入力します。

解決策は明白かもしれませんが、それを修正する方法がわかりません。

編集:申し訳ありませんが、前に言及するのを忘れていました。2 番目のボタンをクリックすると、データが正しい位置、つまり最後の 2 列に表示されます。それが同じ行にないことを除いて。データは 1 行下に表示されます。

これが私のコードです:

Private Sub btnClockIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClockIn.Click

Homescreen.DataGridViewEmployee.ColumnCount = 6
Homescreen.DataGridViewEmployee.Columns(0).Name = "Employee Number"
Homescreen.DataGridViewEmployee.Columns(1).Name = "Day"
Homescreen.DataGridViewEmployee.Columns(2).Name = "Week Number"
Homescreen.DataGridViewEmployee.Columns(3).Name = "Time In"
Homescreen.DataGridViewEmployee.Columns(4).Name = "Time Out"
Homescreen.DataGridViewEmployee.Columns(5).Name = "Hours"

Dim row As String() = New String() {ENumber, day, WeekNum, StartTime, "", ""}
Homescreen.DataGridViewEmployee.Rows.Add(row)
Homescreen.DataGridViewEmployee.ReadOnly = True

Private Sub btnClockOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClockOut.Click

Homescreen.DataGridViewEmployee.ColumnCount = 6
Homescreen.DataGridViewEmployee.Columns(0).Name = "Employee Number"
Homescreen.DataGridViewEmployee.Columns(1).Name = "Day"
Homescreen.DataGridViewEmployee.Columns(2).Name = "Week Number"
Homescreen.DataGridViewEmployee.Columns(3).Name = "Time In"
Homescreen.DataGridViewEmployee.Columns(4).Name = "Time Out"
Homescreen.DataGridViewEmployee.Columns(5).Name = "Hours"

Dim row As String() = New String() {"", "", "", "", EndTime, Diff}
Homescreen.DataGridViewEmployee.Rows.Add(row)
Homescreen.DataGridViewEmployee.ReadOnly = True
4

1 に答える 1

0

問題は、使用している 2 番目のボタンが、そのrows.add()名前の通り行に追加されることです。rows(rows.Count -1)最後の行に追加する場合は、リスト内の関連フィールドを編集して最後の行を取得する必要があります

Dim row as DataGridViewRow = rows(rows.Count -1)
row(4) = EndTime
row(5) = Diff

ボタンを押すたびにデータ グリッド ビューのプロパティを設定する必要がないため、読み取り専用設定と同様に、列名に関するすべてのコードを削除できます。

于 2013-01-12T15:49:16.407 に答える