vb.net - 如何使用 numeric up down 来检索 datagridview 插入的结果或插入到 datagridview 的过去数据?
问题描述
如何使用数字上下控件来检索 datagridview 插入的结果或插入到 datagridview 的过去数据?
LoadRec = DbSelect("Select * from tblInvoiceDetails where InvoiceNo= " & No & "")
If LoadRec.Rows.Count > 0 Then
NumericUpDown1.Value = LoadRec.Rows(0).Item(0).ToString
DataGridView2.DataSource = DbSelect("Select * from tblInvoiceDetails.itemno , ItemName, Qt, Price, Total where InvoiceNo= " & No & "")
解决方案
它需要对 NumericUpDown 控件的值变化做出反应。
我将假设 的值itemno
严格来说是 1、2、3、4 等。如果不是,SQL 查询就必须不同。
Private Sub NumericUpDown1_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged
Dim n = DirectCast(sender, NumericUpDown).Value
'TODO: Set invoiceNo to the correct value
Dim invoiceNo As Integer = 1
Dim dt As New DataTable
Dim sql = "SELECT [ItemName], [Qt], [Price], [Total] FROM [tblInvoiceDetails] WHERE [InvoiceNo] = @InvoiceNo AND [itemno] = @itemno"
Using conn As New SqlConnection("your connection string"),
sqlCmd As New SqlCommand(sql, conn)
sqlCmd.Parameters.Add(New SqlParameter With {.ParameterName = "@InvoiceNo", .SqlDbType = SqlDbType.Int, .Value = invoiceNo})
sqlCmd.Parameters.Add(New SqlParameter With {.ParameterName = "@itemno", .SqlDbType = SqlDbType.Int, .Value = n})
Dim dr As New SqlDataAdapter(sqlCmd)
dr.Fill(dt)
End Using
DataGridView2.DataSource = dt
End Sub
线
NumericUpDown1.Value = LoadRec.Rows(0).Item(0).ToString
应该是
NumericUpDown1.Value = Convert.ToInt32(LoadRec.Rows(0).Item(0))
NumericUpDown1.Maximum = LoadRec.Rows.Count
DbSelect
添加采用SqlParameterCollection的方法的重载是一个好主意。像目前所做的那样将值连接到查询中是一个坏主意。
推荐阅读
- mysql - MySQL MIN 和 сonvert_tz
- android - 我使用了 google face api,它可以很好地跟踪人脸,但我想获取与移动实际屏幕相关的 x、y 坐标
- c# - ASP.NET MVC CORE 中的控制器操作别名
- python - 当使用 python 嵌入式版本并执行 pip install * 时,它会遇到 ModuleNotFoundError
- symfony - 如何完全重置学说以提高绩效
- reactjs - 如何将表中特定行的id传递给reactjs中的函数?
- c++ - 无限包含 stdio.h
- react-native - 从内部和外部存储中删除图像?
- reactjs - 如何在材质 UI 中使用 withStyles 覆盖引导类
- excel - 索引匹配 与多个条件匹配