#vb.net
Вопрос:
- Я хочу создать проект мобильного телефона в VB.net 2019 год. Где модель мобильного телефона в выпадающем списке взята из базы данных. Я прикрепил представление datagrid, в котором отображается номер IMEI мобильного телефона. Прикрепленный флажок в представлении Datagridview. Проблема в том, что когда я иду менять номер модели мобильного телефона в событии изменения комбинации, к каждому изменению в Datagridview добавляется новый флажок.
- Я создал поле поиска, чтобы легко находить номера IEMI в текстовом поле. Когда я ищу номер IEMI в поле поиска в представлении данных и устанавливаю флажок «Представление данных» и ищу следующий номер, предыдущий не отмечен
Я молюсь о помощи опытных.
Sub display_data()
con.Open()
Dim cmd As New SqlCommand("select Product_Name, IMEI_No,qty from tbl_Stock where Company_Name=@d1 and Product_Name =@d2", con)
cmd.Parameters.Add("@d1", SqlDbType.NVarChar).Value = cmb_cmp.Text
cmd.Parameters.Add("@d2", SqlDbType.NVarChar).Value = cmb_pro.Text
Dim da As New SqlDataAdapter(cmd)
Dim dt As New DataTable
dt.Clear()
da.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
Dim chakbox As New DataGridViewCheckBoxColumn
chakbox.Width = 60
chakbox.Name = "checkbox"
DataGridView1.Columns.Insert(0, chakbox)
End Sub
Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmb_pro.SelectedIndexChanged
con.Open()
Dim strsql As New SqlCommand("Select * from tbl_pro where Product_name=@d1", con)
strsql.Parameters.Add("@d1", SqlDbType.NVarChar).Value = cmb_pro.Text
Dim myreader As SqlClient.SqlDataReader = strsql.ExecuteReader
While myreader.Read
txt_sal_rt.Text = myreader.GetDecimal("sale_rate")
txt_pro_cod.Text = myreader.GetString("product_code")
txt_pur_rt.Text = myreader.GetDecimal("Purchase_rate")
End While
con.Close()
display_data()
End Sub
Private Sub txt_serch_KeyUp(sender As Object, e As KeyEventArgs) Handles txt_serch.KeyUp
DataGridView1.DataSource = searech()
End Sub
Private Function searech() As DataTable
Dim cmd As New SqlCommand("select Product_Name, IME_No,qty from tbl_Stock where Company_Name=@d1 and IME_NO Like '%' @d2 '%'", con)
cmd.Parameters.Add("@d1", SqlDbType.NVarChar).Value = cmb_cmp.Text
cmd.Parameters.Add("@d2", SqlDbType.VarChar).Value = txt_serch.Text
Dim da As New SqlDataAdapter(cmd)
Dim dt As New DataTable
da.Fill(dt)
Return dt
End Function
Комментарии:
1. Неясно, чего вы пытаетесь достичь. Добавление некоторых изображений может оказаться полезным.
2. Эта строка dataGridView1.Столбцы. Вставка(0, chakbox) добавляет новый столбец при каждом выполнении.
Ответ №1:
Просто поместите bool в свой запрос, выбросьте код «добавить флажок в сетку».
Sub display_data()
con.Open()
Dim cmd As New SqlCommand("select CAST(0 as BIT) as checkbox, Product_Name, IMEI_No,qty from tbl_Stock where Company_Name=@d1 and Product_Name =@d2", con)
cmd.Parameters.Add("@d1", SqlDbType.NVarChar).Value = cmb_cmp.Text
cmd.Parameters.Add("@d2", SqlDbType.NVarChar).Value = cmb_pro.Text
Dim da As New SqlDataAdapter(cmd)
Dim dt As New DataTable
dt.Clear()
da.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
End Sub