Validation erronée et manque de filtrage... Comment y remedier?

divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013 - 8 juin 2011 à 00:17
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013 - 8 juin 2011 à 14:13
Salutation à Tous!

Permettez moi de poser deux petites questions en une fois. Je suis débutant et je sais que les débutants sont parfois "embêttants". Mais moi, je serai un peu plus objectif.

1) j'ai trois textboxs:
voilà ce que j'ai fait pour aller d'un textbox à un autre en pressant sur la touche "entrer" au lieu d'utiliser la touche "Tab".

Private void textBox1_keyPress...
if (true)
{
textBox2.Focus();
}

Ces codes ne marchent pas. Parce que ça permets de presser sur n'importe quelle touche pressée. Du moins, j'ai juste besoin de "entrer". Comment faire?


2) j'ai deux forms: form1[Designer] et impression[Designer]
sur le form1, j'ai mis deux bouttons me permettant de faire le filtrage d'une donnée inserer (ou écrite dans un textBox) et l'autre me permettant l'appelle du form "impression". Curieusement, le filtrage de la donnée se fait. Mais le deuxième boutton quand il appelle mon état d'impression. Il me ramène un état contenant des données non filtrées. C'est dire que les données apparaissent. Mais pas selectionné comme on le voit dans le dataGridView.

Voici ce que je fais:

Etat rel = new Etat();
Et.Show();//mon état d'impression crystal report
OleDbDataReader donneesRecues = null;
List<minha> valeur = new List<minha>();
string sql = "SELECT * From tblWorkers where First_Name like'" + textBox4.Text + "%'";
OleDbCommand comando = new OleDbCommand(sql, con);
try
{
con.Open();
donneesRecues = comando.ExecuteReader();
minha mn = new minha();
if (donneesRecues.HasRows)
{
donneesRecues.Read();

rel.Show();
}
dataGridView1.DataSource = valeur;
}
catch (OleDbException)
{

throw;
}

finally
{
con.Close();
}

}

Et sur mon deuxième form où j'ai mis mon crystalReportView, j'ai fais du load comme ceci:
private void crystalReportViewer1_Load(object sender, EventArgs e)
{
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load("c:/exercicios_C#/WindowsFormsApplication5/CR_workers.rpt"); crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
Je sais qu'il y a quelques codes qui devraient me permettre de forcer le filtrage sur mon état. Mais je suis planter... Comment m'en sortir? Je compte sur votre aide afin d'aider aussi les autres un jour sur ce site.

Merci,
Divin1975

6 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
8 juin 2011 à 09:14
Hello,
Pour la question 1: une fois que tu est dans la méthode KeyPressed, tu dois vérifier la touche qui a généré cet appel:
if (e.KeyChar == (char)Keys.Return)
{
  textBox2.Focus();
}



@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013
8 juin 2011 à 09:50
Salut!

Merci Buno, pour la question 1, je viens d'essayer et ça marche.
Je continue à être coinçé pour la question 2.

Merci,
Divin1975
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
8 juin 2011 à 10:02
Pour le 2e point, je ne pige pas trop ce que tu veux faire ni ce que tu obtiens.
Peux-tu être un peu plus précis, s'il te plaît?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013
8 juin 2011 à 12:38
Ben, au fait je vais simplifié ma question numéro 2.

Je voulais dire que lorsque je fais le filtrage d'une donnée de ma table. Ça marche parfaitement. Et maintenant, lors de l'appel de mon rapport. J'ai toutes mes données qui apparaissent sur mon état d'impression.
Mais la question qui s'pose est celle-ci:
les données qui s'affichent sur mon rapport ne sont pas filtrées comme je pouvais le voir dans mon datagridview. Je les aient en entier.

ex:
"Jean"
"freddy"
"Albert"

J'aimerai avoir juste "Freddy". Curieusement, sur mon rapport j'ai "Jean", "Freddy" et "Albert". Et alors, pourquoi n'est pas juste "Freddy".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
8 juin 2011 à 13:34
Le filtrage doit se faire uniquement dans ta vue, apparemment, et non dans ton modèle, au sens MVC.
Avant de générer ton rapport, tu devrais donc re-filtrer tes données.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013
8 juin 2011 à 14:13
Olala, je ne pige pas trop bien tes dires.
Tu veux dire que le filtrage ne peut se faire qu'en sens MVC et en mon modèle. Seulement en ma vue. Cela veut dire???
Bem, tu n'as pas un exemple simple quelque part. Peut être dans tes propres codes...
Les rapports, je sais déjà en faire sur Crystal report. Mais c'est ledit filtrage qui me casse le souffle.

Merci
0
Rejoignez-nous