Bonsoir, désolé c'est mon 3eme post mais cette fois j'ai vraiment besoin de votre aide.
Je n'y comprends plus rien. je cherche a écrire ou plutôt a afficher (puisque l’écriture semble fonctionner) des dates avec les heures,minutes,secondes du style :jj/mm/aaaa hh:mm:ss. Quand j'ouvre ma base Access sous Microsoft Access je vois bien les dates avec les heures minutes secondes, le champ est du type Date/Time. Mais dans mon programme mes contrôles TextBox DataBindés n'affiche pas les secondes : jj/mm/aaaa hh:mm. J'ai également le même problème dans mon DataGridView.
j'écrit dans la base depuis mon code comme ceci :
Row.Item("DATE_CREATION") = DateTime.Now
Ca fait 2 jours que je cherche, c'est a n'y rien comprendre.
Vous avez une idée pour savoir d'ou pourrais venir le problème ?
[EDIT1] J'ai quand même fini par trouver. Il fallait mettre False dans les paramétres de la liaison de données
Comme ceci :
TextBoxDATEEDIT.DataBindings.Add("Text", MainBindingSource, "DATE_CREATION", False, DataSourceUpdateMode.Never)
[EDIT2] Zut, je pensais pouvoir régler le problème aussi pour le DatagridView mais la je ne vois pas comment faire.
Je construis mon DatagridView et mes colonnes comme ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
With DataGridView1
.AllowUserToAddRows = False
.CausesValidation = True
.AutoGenerateColumns = False
.DataSource = MainBindingSourcePaths
.RowHeadersWidth = 25
.AlternatingRowsDefaultCellStyle.BackColor = COLOR_MODPATHS
.DefaultCellStyle.WrapMode = DataGridViewTriState.False
.RowTemplate.Height = DefautDataGridViewHight
.DefaultCellStyle.Font = DefautDataGridViewFont
.DefaultCellStyle.ForeColor = DefautDataGridViewForeColor
End With
Dim Col As New DataGridViewTextBoxColumn
Col.DataPropertyName = Name
Col.Name = Name
Col.HeaderText = HeaderText
Col.Width = Width
Col.Resizable = CType(Rezizable, DataGridViewTriState)
Col.ToolTipText = ToolTiptext
Col.ReadOnly = Read_Only
Col.DefaultCellStyle.BackColor = Back_Color
Col.Visible = Visible
Col.DefaultCellStyle.Alignment = Align
Select Case ModeBuildColumn
Case Is = ModeBuildColumn.Add : i = DataGridView.Columns.Add(Col)
Case Is = ModeBuildColumn.Insert : DataGridView.Columns.Insert(Position, Col)
End Select |
Merci beaucoup si vous pouvez m'aider.
[EDIT3] Bonsoir, j'ai résolu mon problème ça servira peut-être a d'autres :
Je viens d'apprendre que la colonne deviens typée dès lors que celle-ci est liée a une source de données, je lis le type de la colonne juste après l'instruction .add(Col) et si celle-ci est du type DateTime je lui applique le bon format de Date et Heure.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
Dim Col As New DataGridViewTextBoxColumn
Col.DataPropertyName = Name
Col.Name = Name
Col.HeaderText = HeaderText
Col.Width = Width
Col.Resizable = CType(Rezizable, DataGridViewTriState)
Col.ToolTipText = ToolTiptext
Col.ReadOnly = Read_Only
Col.DefaultCellStyle.BackColor = Back_Color
Col.Visible = Visible
Col.DefaultCellStyle.Alignment = Align
Select Case ModeBuildColumn
Case Is = ModeBuildColumn.Add : i = DataGridView.Columns.Add(Col)
Case Is = ModeBuildColumn.Insert : DataGridView.Columns.Insert(Position, Col)
End Select
Dim ColType As Type = Col.ValueType
Dim TypeCode As TypeCode = Type.GetTypeCode(ColType)
Select Case TypeCode
Case TypeCode.DateTime
Col.DefaultCellStyle.Format = "dd/MM/yyyy HH:mm:ss"
End Select |
Partager