Я кодирую систему отчетности.Все основные переменные из отчетов хранятся в одном файле .xml, а затем некоторые из этих же данных сохраняются в других папках в виде файлов .txt с одним словом, которые сохраняются под тем же именем, что и основной файл .xml отчетов.
Когда дело доходит до загрузки всех отчетов в список, в котором их отображаемые имена изменяются в соответствии с фильтром (Все | Новые | Самые старые | Приоритетные | A - Z | Z - A) и, вероятно, их будет больше,однако, хотя он отображает и сортирует элементы списка совершенно нормально, когда дело доходит до загрузки отчетов в кодировщик, который я кодировал, требуется каталог выбранного элемента списка.
Первоначально, когда я делал это, все они были перечислены по имени файла, что, очевидно, работало нормально, потому что имя файла использовалось отображаемым именем элемента списка.Теперь, поскольку я делаю его чище и включаю фильтры, я не могу точно использовать эту же технику, поэтому я подумал, есть ли способ добавить второй идентификатор в элементы списка, чтобы я мог назвать второй идентификатор именемфайла, в котором хранятся данные, так что я могу загрузить данные через второй идентификатор или, возможно, любым другим способом, который будет иметь тот же результат.
public void UpdateReports()
{
if (ReportsPrioritySelection.Text == "All")
{
ReportsList.Items.Clear();
SortDescription sd = new SortDescription("", ListSortDirection.Descending);
DirectoryInfo dinfo = new DirectoryInfo(@"Report&Fix\\Reports\\");
FileInfo[] Files = dinfo.GetFiles("*.xml");
foreach (FileInfo file in Files)
{
ReportsList.Items.Add(Path.GetFileNameWithoutExtension(file.Name));
ReportsList.Items.SortDescriptions.Add(sd);
}
}
if (ReportsPrioritySelection.Text == "Newest")
{
ReportsList.Items.Clear();
SortDescription sd = new SortDescription("", ListSortDirection.Descending);
DirectoryInfo dinfo = new DirectoryInfo(@"Report&Fix\\Reports\\");
FileInfo[] Files = dinfo.GetFiles("*.xml");
foreach (FileInfo file in Files)
{
ReportsList.Items.Add(File.ReadAllText(@"Report&Fix\\ReportData\\Date\\" + Path.GetFileNameWithoutExtension(file.Name) + ".txt") + " " + Path.GetFileNameWithoutExtension(file.Name));
ReportsList.Items.SortDescriptions.Add(sd);
}
}
}