Ich speichere alle Werte von listView im Dictionary-Wert im Dictionary und speichere den Index in Dictionary-Keys beim Laden des Formulars. Ich benutze Wörterbuch als ein Medium des Indexspeichers für entsprechende übertragene listitems.So übertragen Sie Daten von a nach b Listenansicht
Jetzt übertrage ich von a nach b auf einen Knopfklick (ein Listenbild ist voll und b ist leer), dann übertrage ich das gleiche Element erneut von b auf ein anderes, auf einen anderen Knopf klicken. Es ist jetzt endlich beigefügt, wenn ich zurück zu b-> eine Übertragung mache. Aber ich möchte, dass es an den gleichen Index angehängt wird, auf dem es vor der Übertragung nach a-> b war.
ich meine, wenn ich b- tun> ein Transfer dann muss es auf denselben Index gehen, wo es vor
Mein Code verwendet zu bleiben ist dies (bitte korrigieren Sie mich, wenn ich falsch bin und geben Sie mir bitte eine Lösung)
private void Form1_Load(object sender, EventArgs e)
{
//storing data in dictionary
}
private void button1_Click(object sender, EventArgs e)
{
MoveSelectedItems(listView1, listView2,0);
}
private void button2_Click(object sender, EventArgs e)
{
MoveSelectedItems(listView2, listView1,1);
}
private void MoveSelectedItems(ListView source, ListView target, int flag)
{
ListViewItem temp = source.SelectedItems[0];
source.Items.Remove(temp);
if(flag==0)//called when i do a->b
{
target.Items.Add(temp);
}
else
{
int index=getIndex(temp);
target.Items.Insert(index, temp);
}
}
private int getIndex(ListViewItem temp)
{
int index = 0;
if (dictList.ContainsValue(temp.Text))
{
foreach (KeyValuePair<int, string> pair in dictList)
if (temp.Text.Equals(pair.Value))
{
index=Convert.ToInt32(pair.Key);
return index;
}
}
return index;
}
Sie können Mit einem 'Dictionary' erreichst du nicht, was du willst. Siehe diese andere Frage für weitere Informationen: http://stackoverflow.com/questions/7918328/adding-a-dictionary-element-at-a-spezifischen- –
@GuillaumeBeauvois Keine andere Alternative? –
@GuillaumeBeauvois bitte lesen Sie sorgfältig, was ich versuche zu erreichen .. Ich möchte in listview (nicht im Wörterbuch ') –