Torna al Thread
protected void Button1_Click1(object sender, EventArgs e)
{
string where = ""; //stringa che conterra la condizione WHERE
int count = 0; // variabile che uso per capire a che punto della WHERE sono
foreach (ListItem li in MiaListBox.Items) //ciclo sugli elementi della ListBox
{
if (li.Selected) // trovo il selezionato
{
if (count == 0) //è la prima riga inserita
{
where += "CAMPO_SELECT= '"+li.Text+"'"; //inizializzo il where
count++; //passo all'elemento successivo
}
else //dalla seconda riga, aggiungo l'OR
where += " or Testo= '" + li.Text + "'";
}
}
DataSet dsW = (DataSet)ViewState["DS"]; //recupero il mio solito dataset da filtrare, che avevo salvato in un viewstate
DataRow[] drw = dsW.Tables[0].Select(where); //faccio finalmente la mia select tramite il where costruito, che potrà essere del tipo "id='1' or ID='2'"
DataTable dt = dsW.Tables[0].Clone(); //solito lavoro di prima con la riassociazione dei dati filtrati alla griglia
foreach (DataRow dr in drw)
dt.ImportRow(dr);
dg1.DataSource = dt;
dg1.DataBind();
}