begin process at 2012 02 10 16:01:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Compression, Split et Cryptage

 > 

Savoir si une date est dans moins de 30j


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Savoir si une date est dans moins de 30j

jeudi 18 décembre 2008 à 10:46:23 | Savoir si une date est dans moins de 30j

mattpeufpeuf

bjr, j'ai un petit problème d'algo.
J'ai une datagridview avec mes données et dedans il y a une date de fin, et je veux que si cette date est dans moins de 30j (par rapport à aujourd'hui), il y est une colone de type checkbox qui se coche dans ce cas.


voici ma partie de code


     string sq = "SELECT RaisonSociale,Adresse,DateFin FROM ABONNEMENT,REVUE WHERE ABONNEMENT.CodeRevue=Revue.Code AND Revue.Titre = @Titre ";
           OleDbDataAdapter DTA = new OleDbDataAdapter(sq, conn);
            DTA.SelectCommand.Parameters.Add("@code",comboBox.Text);
            try{ DTA.Fill(DTSet,"ABONNEMENT");
                // on affiche les données dans la datagridview
                dataGridView.DataSource = DTSet.Tables["ABONNEMENT"];
      
}catch { //bug }
jeudi 18 décembre 2008 à 10:59:04 | Re : Savoir si une date est dans moins de 30j

nhervagault

Administrateur CodeS-SourceS
Salut,

Il faut jouer avec le CellFormatting event

http://msdn.microsoft.com/fr-fr/library/system.windows.forms.datagridview.cellformatting(VS.80).aspx

FAQ datagridview
http://www.windowsclient.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc
jeudi 18 décembre 2008 à 11:11:25 | Re : Savoir si une date est dans moins de 30j

mattpeufpeuf

euh merci
mais il y a pas un petit algo genre:
if datefin < datenow(+30)
checkbox<==vrai
je sais pas si c'est très facile à comprendre

http://mattpeufpeuf.online.fr/projet/Image%201.png
jeudi 18 décembre 2008 à 14:29:05 | Re : Savoir si une date est dans moins de 30j

cedricperes

Bonjour

Tu peux modifier ta source et rajouter
Il y a deux possibilites :

   - Soit tu rajoutes un booleen IsLessThan30Days a updater avant d'inserer les donnees dans ton grid, qui serait a true si c'est moins de 30 jours, et a ce moment tu recuperes directement la valeur dans un asp:CheckBoxField;
   
   - Soit tu utilises la methode OnRowDataBound pour checker ligne a ligne.

Cedric
jeudi 18 décembre 2008 à 14:39:09 | Re : Savoir si une date est dans moins de 30j

mattpeufpeuf

merci cedric
je pense que le plus simple est dans la boucle quand on affiche les données mais quel est le code qu'il faut vraiment?
jeudi 18 décembre 2008 à 14:51:52 | Re : Savoir si une date est dans moins de 30j

bellak

Salut , vous pouvez ajouter apres le chargement des donnees dans DGV une DataGridViewCheckBoxColumn puis vous verifiez les cellules de la colonne date .mais qui est pas du tout propre puisqu'on a le .NET , et meme vous aurez de problemes si vous faites un tri .
jeudi 18 décembre 2008 à 14:54:07 | Re : Savoir si une date est dans moins de 30j

cedricperes

Ce serait un truc de ce genre la :

protected

void YourGrid_RowDataBound(object sender, GridViewRowEventArgs e)

{

if (e.Row.RowIndex >= 0) // parce que la methode commence sur les en-tetes de colonne (index -1)

{

// tu recuperes la date dans la colonne de ton datagrid

int indexColDate = 1;// par exemple

int indexColCheckBox = 2;// par exemple

DateTime date = Convert.ToDateTime(e.Row.Cells[indexColDate].Text);

if (date.CompareTo(DateTime.Now.AddDays(-30)) == 1)

((

CheckBox)e.Row.Cells[indexColCheckBox].Controls[1]).Checked = true;

}

}

Mais le plus performant serait de definir avant d'inserer les donnees dans le datagrid

Cedric
jeudi 18 décembre 2008 à 15:01:17 | Re : Savoir si une date est dans moins de 30j

mattpeufpeuf

et il faut l'inserer ou?
jeudi 18 décembre 2008 à 15:13:58 | Re : Savoir si une date est dans moins de 30j

cedricperes

Tu definis dans ton grid, dans ta page aspx, l'evenement "OnRowDataBound" et tu rajoutes la methode ci-dessus dans ta page aspx.cs

Cedric
jeudi 18 décembre 2008 à 15:23:44 | Re : Savoir si une date est dans moins de 30j

nhervagault

Administrateur CodeS-SourceS
Le problème est quand windows form l'evenement
RowDataBound
N'est pas disponible sur le datagridview donc il pfaut passer par l'evenement
CellFormatting

Et recuperer l'item courant avec
 Customer cust = YourGrid.rows[e.rowindex].DataBoundItem as Customer;


1 2

Cette discussion est classée dans : date, code, datagridview, abonnement, 30j


Répondre à ce message

Sujets en rapport avec ce message

remplir datagridview [ par boudour21 ] bonjour tout le monde j'essaye d'afficher une sélection de la base de données dans un datagridview mais rien ne s'affiche voici le code [code=cs] st Modifier ColumnType d'un dataGridView [ par tj95 ] Bonjour, Tout d'abord le contexte : J'utilise VS2008, je code en C# avec une petite bdd mysql et je fait un "programme" pour suivre mes dons de sang, remplir mon datagridview [ par solaar14 ] Bonjour. j'ai deux formulaires: le premier avec un datagridview et le deuxième avec les champs que je souhaiterais remplir dans le datagridview. je tr datagridview [ par zone45 ] slt tt le monde [^^clinoeil3] je veux utiliser un datagridview pour l'ajout seulement je veux pas apérci les données de la base est ce que je peut f Datagridview modif [ par thorgal1612 ] Bonjour,J'ai un datagridview binder avec une liste d'objet (classe "Articles"). J'ai deux colonnes , un code et un libellé.Ce datagridview est en modi selection a partir du Datagridview [ par spameur_tn1 ] bonjour. en fait j e veut sélectionner un enregistrement à partir d'un Datagridview et par la suite afficher ces enregistrement dans une autre fenetr requete date [ par abbeille ] Bonjour a vous tous !! J'ai déja posé cette question , mais j'ai pas eu de réponse , que peut que j'ai mal posé ma question , Bon voila mon probléme OracleParameter [ par babe59 ] Bonjour, je travaille sous VS2005 et ODP.NET (pour oracle) J'utilise les requetes paramétrées pour mettre à jour ma base de données et pour des rais trier des dates dans un datagridview [ par Classico ] Bonjour, je souhaiterais trier mon datagridview par date. Car celui-ci comporte une colonne date (sur 2 mois). Ce que j'aimerais c'est mettre les dat


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales