Maj listview

Résolu
WieWeet Messages postés 13 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 18 février 2014 - 9 juin 2011 à 11:14
vargas101 Messages postés 7 Date d'inscription vendredi 19 mars 2010 Statut Membre Dernière intervention 14 juin 2011 - 14 juin 2011 à 14:59
salut,
mise a jour des items d'un listview ( labeledit=true)
controles et si erreur remettre valeur initiale

using System;
using System.Windows.Forms;
namespace test1
{	
public partial class Form1 : Form
{	
public Form1()
{	
InitializeComponent();
}
private void Form1_Load( object sender, EventArgs e )
{	
for ( int n=1; n<10; n++ )
{	
listView1.Items.Add( ( n*100 ).ToString() );
}
}

String avant;

void listView1_BeforeLabelEdit( object sender, LabelEditEventArgs e )
{	
ListView lw = ( ListView )sender;
avant=lw.Items[e.Item].SubItems[0].Text;
}
void listView1_AfterLabelEdit( object sender, LabelEditEventArgs e )
{	
ListView lw = ( ListView )sender;
try	{	
int res=Int16.Parse( e.Label );
}
catch {	
this.Text="erreur";

//	lw.Items[e.Item].SubItems[0].Text=avant;

//	lw.Refresh();
//	lw.RedrawItems( e.Item, e.Item, false );
//	lw.RedrawItems( e.Item, e.Item, true );

//	lw.Items.RemoveAt( e.Item );
//	lw.Items.Add( avant );
}
}
}
}



quoi que je tente, la valeur initiale
n'est pas ré-affichée.
(
lw.Items[e.Item].SubItems[0].Text=avant;
lw.Refresh();
lw.RedrawItems( e.Item, e.Item, false );
lw.RedrawItems( e.Item, e.Item, true );

lw.Items.RemoveAt( e.Item );
lw.Items.Add( avant );

...
)

comment faire ?
merci.

3 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
9 juin 2011 à 12:04
Bonjour,

pour retrouver le texte original, il faut faire :

e.CancelEdit = true;


dans ton catch !


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
3
WieWeet Messages postés 13 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 18 février 2014
9 juin 2011 à 12:51
je me doutais bien que c'était "tout simple"
merci beaucoup «sebmafate», ça baigne.
@+
0
vargas101 Messages postés 7 Date d'inscription vendredi 19 mars 2010 Statut Membre Dernière intervention 14 juin 2011
14 juin 2011 à 14:59
Bonjour sebmafate

j'ai une ListView que j'ai utilise comme une facture de vente.
J'ai trois colonnes (Description, Quantité, prix).
j'ai aussi deux boutons accepter qui enregistre l'information de la ListView dans la ma bd et le bouton annuler avec lui j'ai un petit problème.
parce que si on fait annuler j'aurais besoin d'effacer la dernière ligne de ma ListView, mais en ce moment annuler efface tout le contenu de ma ListView incluant mes entêtes de colonnes ça doit être parce que j'utilise ça :

lvFacture.Clear();
lblTotal.Text = "0,00";

Mais je ne sais pas quoi d'autre utiliser pour efface ligne par ligne dans ma ListView.

merci beaucoup
0
Rejoignez-nous