En essayant d'obtenir de l'aide sur ce problème, j'essaie de trouver une Date spécifique dans mon Datagrid avec une zone de texte. Les dates sont actuellement des chaînes au format jj/mm/aaaa. Dans une colonne de date. J'ai posté avant mais n'ai pas de réponses utiles et la question a été enterrée. Personne ne semble avoir une réponse, ils évitent juste le sujet. À l'heure actuelle je ne peux pas avoir les dates comme DateTime en raison du reste de l'application est formatée.DataGrid Date Chaîne Filtre
Merci
EDIT CODE:
public class ImagesInfo
{
public string FileName { get; set; } //For Picture File Name
public string Description { get; set; } //For the Description of the Picture
public string Category { get; set; } //Category of Picture
public string Date { get; set; }//Date Taken of the Picture, format discussed in report.
public string Comments { get; set; } //Comments for the picture
}
code i utilisé lors de la recherche d'une catégorie dans le DataGrid.
if (categoryFilterBox.Text == string.Empty)
{
//used if nothing is in the filter box to avoid blanking
var source = new BindingSource();
source.DataSource = images;
navigationGrid.DataSource = source;
}
else
{
//making a new filtered list that includes the matching Categorys and binding it.
string catFilter;
try
{
catFilter = categoryFilterBox.Text;
var filteredList = images.Where(item => item.Category == catFilter);
var filterSource = new BindingSource();
filterSource.DataSource = filteredList;
navigationGrid.DataSource = filterSource;
}
catch (FormatException)
{
MessageBox.Show("Must be Words of Letters");
}
}
Exemple d'un enregistrement ajouté à ma liste qui est la source du DataGrid.
private void addRecord()
{
var newImage = new ImagesInfo();//new instance
newImage.FileName = fileNameTextBox.Text;
newImage.Category = categoryComboBox.Text;
//try catch for input of the date
try
{
newImage.Date = dateTakenTextBox.Text;
}
catch (FormatException)
{
MessageBox.Show("Date Not Correct Format");
}
try
{
newImage.Description = descriptionTextBox.Text;
}
catch (FormatException)
{
MessageBox.Show("Must user letters and words");
}
try
{
newImage.Comments = commentsTextBox.Text;
}
catch (FormatException)
{
MessageBox.Show("Must use letters and words");
}
images.Add(newImage);//Add instance to the main list
if (editCheckBox.Checked)
{
//Binding the new updated list to the datagrid
var source = new BindingSource();
source.DataSource = images;
navigationGrid.DataSource = source;
}
}
EDIT: Comment je aurais-je eu ce moment, mais il ne semble pas fonctionner.
if (startDate.Text == string.Empty)
{
var source = new BindingSource();
source.DataSource = images;
navigationGrid.DataSource = source;
}
else
{
string dateFilter = startDate.Text;
var filteredList = images.Where(item => item.Date == dateFilter);
var filterSource = new BindingSource();
filterSource.DataSource = filteredList;
navigationGrid.DataSource = filterSource;
}
Ce serait mieux si nous voyons votre code. S'il vous plaît le poster. –
Le code a été ajouté si plus est nécessaire je peux fournir – user3330371
Une question, quel est exactement le problème? J'ai compris que vous avez un problème avec les dates, qui sont des chaînes. Cependant, je n'ai pas obtenu où vous essayez de trouver une date précise? Merci – Christos