Hola, estoy trabajando en una pantalla para cambiar el status de las facturas.
Tengo un combobox donde cargo todos los id de los usuarios.
Por otro lado tengo el checkboxlist.
Mi idea es que al seleccionar un usuario desde el combobox, el checkboxlist se cargue con las facturas asignadas a ese usuario.
Logro que el combobox se cargue con los usuarios, lo que no logro es que el checkboxlist se cargue con las facturas asignadas a ese usuario.
Estoy trabajando con VB.net 2008.
El código es el siguiente:
Código:
Imports System.Data
Imports System.Data.SqlClient
Public Class factura
Private Const cs As String = "Data Source=xxx;Initial Catalog=xxx;User Id=xxx;Password=xxx;"
Private Sub factura_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ToolStripStatusLabel1.Text = My.User.Name
cargar_combo(ComboBox1, "select distinct carrierid from xInvcAssign order by carrierid asc")
End Sub
Private Sub cargar_combo(ByVal ComboBox As ComboBox, ByVal sql As String)
Dim cn As New SqlConnection(cs)
Try
cn.Open()
Dim cmd As New SqlCommand(sql, cn)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet
da.Fill(ds)
ComboBox.DataSource = ds.Tables(0)
ComboBox.DisplayMember = ds.Tables(0).Columns(0).Caption.ToString()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString, "error", MessageBoxButtons.OK, MessageBoxIcon.Error)
If cn.State = ConnectionState.Open Then
cn.Close()
End If
End Try
End Sub
Private Sub ComboBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged
Dim cn As New SqlConnection(cs)
Try
cn.Open()
Dim fechaAct As Date
fechaAct = DateTime.Now.AddDays(-2)
Dim cmdd As String
cmdd = "SELECT invcnbr FROM xInvcAssign WHERE carrierid = '" & ComboBox1.SelectedIndex.ToString & "' and user7 >= '" & fechaAct & "' "
Dim cmd As New SqlCommand(cmdd, cn)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet
Dim registros As SqlDataReader
da.Fill(ds)
registros = cmd.ExecuteReader
CheckedListBox1.DataSource = ds.Tables("xInvcAssign")
CheckedListBox1.DisplayMember = "invcnbr"
While registros.Read
CheckedListBox1.Items.Add(registros.GetString(0))
End While
Catch ex As Exception
Finally
cn.Close()
End Try
End Sub
End Class