vb.net - 我需要 vb 中关于如何在我的项目中循环 2 个 datagridview 的正确代码
问题描述
我正在开发一个酒店应用程序,其中一个功能是具有 2 种费率类型,即机架费率和周末费率。
我有 2 个 datagridview,一个将存储日期、天数和金额,而第二个 datagridview 只存储周末天数。
所以我希望当我单击保存按钮时,第一个 datagridview 行将搜索另一个 datagridview 以检查日单元格是否在第二个 datagridview 中,如果它在那里,它现在将选择金额但插入到金额列中。
我尝试了两组代码。第一个有效,但金额列中没有任何金额,只是完成日期和日期,但是当我尝试第二个代码时,没有任何效果
第一个代码
If dgw3.Rows.Count > 0 Then
Dim dr As DataGridViewRow = dgw3.Rows(0)
Dim dr2 As DataGridViewRow = dgwWeekend.Rows(0)
If dr.Cells(1).Value.ToString() = dr2.Cells(0).Value.ToString() Then
st1 = txtTariffWeekend.Text
Else
st1 = txtTariffWeekDay.Text
End If
End If
Dim startDay1 As Date
Dim endDay1 As Date
startDay1 = dtpDateIn.Value.Date
endDay1 = dtpDateOut.Value.Date
Dim dayCtr1 As Date
dayCtr1 = startDay1
Do While (dayCtr1 <= endDay1.AddDays(-1))
dgw3.Rows.Add(dayCtr1.Date.ToString(), dayCtr1.Date.DayOfWeek.ToString(), st1)
dayCtr1 = dayCtr1.AddDays(1)
Loop
第二个代码
If dgw3.Rows.Count > 0 Then
Dim dr As DataGridViewRow = dgw3.Rows(0)
Dim dr2 As DataGridViewRow = dgwWeekend.Rows(0)
If dr.Cells(1).Value.ToString() = dr2.Cells(0).Value.ToString() Then
st1 = txtTariffWeekend.Text
Else
st1 = txtTariffWeekDay.Text
End If
Dim startDay1 As Date
Dim endDay1 As Date
startDay1 = dtpDateIn.Value.Date
endDay1 = dtpDateOut.Value.Date
Dim dayCtr1 As Date
dayCtr1 = startDay1
Do While (dayCtr1 <= endDay1.AddDays(-1))
dgw3.Rows.Add(dayCtr1.Date.ToString(), dayCtr1.Date.DayOfWeek.ToString(), st1)
dayCtr1 = dayCtr1.AddDays(1)
dgw3.Rows.Add(dr)
Loop
End If
解决方案
我想我是通过添加此代码来解决的
Dim startDay1 As Date
Dim endDay1 As Date
startDay1 = dtpDateIn.Value.Date
endDay1 = dtpDateOut.Value.Date
Dim dayCtr1 As Date
dayCtr1 = startDay1
Dim str As String
str = Label19.Text
Do While (dayCtr1 <= endDay1.AddDays(-1))
con = New SqlConnection(cs)
con.Open()
Dim ct As String = "select Weekend from WeekendDetails where Weekend=@d1"
cmd = New SqlCommand(ct)
cmd.Connection = con
cmd.Parameters.AddWithValue("@d1", str)
rdr = cmd.ExecuteReader()
If (rdr.Read()) Then
st1 = txtTariffWeekend.Text
Else
st1 = txtTariffWeekDay.Text
End If
dgw3.Rows.Add(dayCtr1.Date.ToString(), dayCtr1.Date.DayOfWeek.ToString(), st1)
dayCtr1 = dayCtr1.AddDays(1)
str = dayCtr1.Date.DayOfWeek.ToString
Loop
推荐阅读
- python - 如何使以序列作为输入的函数的返回类型取决于该序列类型?
- excel - 使用快递网站的 VBA 进行网页抓取
- python - 熊猫多索引数据框中的小时和分钟平均值
- python - 根据第一个唯一列值提取表
- eclipse - 在 C/C++ 的 Eclipse IDE 中,什么键命令选择当前单词?
- php - 当有人从一个帐户登录另一个用户时自动注销用户
- mysql - SQLSTATE[HY000] [1045] 用户'wymtavvh_admin'@'localhost'的访问被拒绝(使用密码:YES)
- django - 如何使用 django 2.x(或 3)启用批量上传?
- php - 数据表 columnDefs 宽度不适用于 initComplete:函数
- c - 具有灵活数组成员的结构的“数组”