Hi Aksh.Gupt,
I have created sample code which full-fill your requirement. So please refer the below code and modify as per your requirement.
C#
private void PopulateCustomers()
{
SqlConnection cn = new SqlConnection(@"server=.\SQL2005;Database=Test;uid=sa;pwd=pass@123");
SqlCommand cmd = new SqlCommand("Select * from Customers", cn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
listBox1.DataSource = dt;
listBox1.ValueMember = "CustomerId";
listBox1.DisplayMember = "Name";
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(@"server=.\SQL2005;Database=Test;uid=sa;pwd=pass@123");
cn.Open();
SqlCommand cmd = cn.CreateCommand();
cmd.CommandType = CommandType.Text;
string record = string.Empty;
for (int i = 0; i < listBox1.SelectedIndices.Count; i++)
{
record += "'" + ((DataRowView)(listBox1.Items[listBox1.SelectedIndices[i]])).Row.ItemArray[1].ToString() + "',";
}
cmd.CommandText = ("Select * from Customers where Name In (" + record.Remove(record.Length - 1) + ")");
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
dataGridView1.DataSource = dt;
}
Vb.Net
Private Sub PopulateCustomers()
Dim cn As New SqlConnection("server=.\SQL2005;Database=Test;uid=sa;pwd=pass@123")
Dim cmd As New SqlCommand("Select * from Customers", cn)
Dim sda As New SqlDataAdapter(cmd)
Dim dt As New DataTable()
sda.Fill(dt)
listBox1.DataSource = dt
listBox1.ValueMember = "CustomerId"
listBox1.DisplayMember = "Name"
End Sub
Private Sub listBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
Dim cn As New SqlConnection("server=.\SQL2005;Database=Test;uid=sa;pwd=pass@123")
cn.Open()
Dim cmd As SqlCommand = cn.CreateCommand()
cmd.CommandType = CommandType.Text
Dim record As String = String.Empty
For i As Integer = 0 To listBox1.SelectedIndices.Count - 1
record += "'" + DirectCast(listBox1.Items(listBox1.SelectedIndices(i)), DataRowView).Row.ItemArray(1).ToString() + "',"
Next
cmd.CommandText = ("Select * from Customers where Name In (" + record.Remove(record.Length - 1) + ")")
Dim dt As New DataTable()
Dim da As New SqlDataAdapter(cmd)
da.Fill(dt)
dataGridView1.DataSource = dt
End Sub
Screenshot