Vorrei realizzare una classica applicazione con 2 listbox e 4 pulsanti (>,>>,<,<<)
Nella prima listbox carico i dati da un dataset.
Cliccando > copio solo gli items selezionati nella seconda listbox
Cliccando >> copio tutti gli items nella seconda testbox
Cliccando << pulisco la seconda listbox
Il problema sorge con il pulsante < che dovrebbe togliere dalla seconda listbox
solo gli elementi selezionati. Ma non capisco come mai me ne toglie sempre qualcuno in meno.
Questo è il codice:
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
Carica();
}
if (IsPostBack)
{
for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected)
ListBox2.Items.Add(ListBox1.Items[i].Text);
}
}
bindData();
}
void Carica()
{
oleDbDataAdapter1.Fill(dataSet11);
Cache["AppData"] = dataSet11;
}
public void bindData()
{
oleDbDataAdapter1.Fill(dataSet11);
ListBox1.DataBind();
}
//Questo è il pulsante <
private void Button4_Click(object sender, System.EventArgs e)
{
for (int i = 0; i < ListBox2.Items.Count; i++)
{
if (ListBox2.Items[i].Selected)
ListBox2.Items.Remove(ListBox2.Items[i].Text);
}
}
Sicuramente esistono modi migliori di gestire il tutto,per cui se qualcuno
ha dei suggerimenti sono ben accetti.

Rispondi quotando