Как мне сохранить в C# элемент управления ListView.свойство selecteditems(и подпунктам) к тексту?
Как сохранить выбранные строки из списка в текстовый файл?
Что я уже пробовал:
I tried using this; <pre lang="c#"> private void CMSavetoFile_Click(object sender, EventArgs e) { foreach (var v in LV.SelectedItems) { File.AppendAllText("outputfile.txt", v.ToString() + Environment.NewLine); } }
Это возвращает только первый столбец, и у меня есть в общей сложности 12 столбцов (0-11).
Я нахожу много примеров сохранения всего ListView в текстовый файл или excel и т. д., Но не только выбранных элементов.
Спасибо!
phil.o
Можете ли вы перечислить каждый столбец для определенной строки?
solutionsville
Это то, что я использую для отображения данных в виде списка;
частный недействительными UpdateListview()
{
ListView TLV;
TLV = FilterView ? LV2 : LV;
List<griditem> list = новый список<griditem>(GridList);
ПДК.UseWaitCursor = true;
ПДК.Предметы.Четкий();
TLV.BeginUpdate();
// очистите сетку и покажите маленький центрированный индикатор выполнения
Для jpanel.Топ = ПДК.Топ + TLV.Высота / 2;
Для jpanel.Левый = ПДК.Слева + TLV.Ширина / 2 - JPanel.Ширина / 2;
JPB.Maximum = список.Рассчитывать;
JPB по.Значение = 0;
Для jpanel.Видимое = истинное;
Для jpanel.BringToFront();
// запись в сетку только отфильтрованных линий сетки
foreach (var s в списке)
{
Если (s.show == false) продолжить;
ВАР Т = новый элемент listviewitem(С. Время)
{
Tag = s
};
т. подпункты.Добавить(С. Линии.Метод toString());
т. подпункты.Добавить(С. Группы.Метод toString());
т. подпункты.Добавить(С. Метки);
т. подпункты.Добавить(s.HexLabelStr);
т. подпункты.Добавить(С. реж);
т. подпункты.Добавить(С. Tseq);
т. подпункты.Добавить(С. Rseq);
т. подпункты.Добавить(С. Mnum);
т. подпункты.Добавить(С. ИС);
т. подпункты.Добавить(Utils.PbaseToStr(С. сайте pbase));
т. подпункты.Добавить(С. полезная нагрузка);
ПДК.Предметы.Добавить(t);
JPB по.Значение++;
}
TLV.EndUpdate();
ПДК.UseWaitCursor = false;
Для jpanel.SendToBack();
Для jpanel.Видна = ложь;
SelectedGridItem = null;
}
phil.o
Извините, но это не ответ на мой вопрос :)
solutionsville
мое извинение. Я не понял вашего вопроса. Это то, что я использую для сохранения содержимого ввода ListView в файл.
частная асинхронного CMSavetoFile_Click недействительным(объект отправителя, EventArgs в электронной)
{
пробовать
{
используя (диалоговое окно savefiledialog ЮФО = новое диалоговое окно savefiledialog() { фильтр = "файл ОПГ дат | *.дать", ValidateNames = истина, с = @"C:\Test.dat", OverwritePrompt = ложь })
{
if (sfd.ShowDialog() == DialogResult.ОК)
{
используя (textwriter в tст = новая модулю записи StreamWriter(новый файловый поток(СФД.Именем, Содержит Filemode.Create), Кодирование.Кодировке utf8))
{
по каждому элементу (элемент, элемент listviewitem в НН.Предметы)
{
ждите TW.WriteLineAsync(item.Подпункты[0].Текст + "\t" + пункт.Подпункты[1].Текст + "\t" + пункт.Подпункты[2] + "\t" + пункт.Подпункты[3] + "\t" + пункт.Подпункты[4] + "\t" + пункт.Подпункты[5] + "\t" + пункт.Подпункты[6] + "\t" + пункт.Подпункты[7] + "\t" + пункт.Подпункты[8] + "\t" + пункт.Подпункты[9] + "\t" + пункт.Подпункты[10] + "\t" + пункт.Пп[11]);
}
Ящик для сообщений.Show("Файл Создан!");
}
}
}
}
поймать(исключение бывший)
{
Ящик для сообщений.Показать(напр.сообщение);
}