CSV для DataGridView с сериализацией / десериализацией

#.net #asp.net #dataadapter

#.net #asp.net #адаптерданных

Вопрос:

Я хочу создать пользовательский интерфейс для синтаксического анализа / редактирования / обновления CSV через страницу aspx, и в настоящее время я изучаю опцию DataGridView. Кажется, есть готовые к использованию функции «Обновление», «Редактирование», которые должны, более или менее, создать готовый к использованию интерфейс. Хотя они, похоже, пока не работают с CSV (отсутствуют команды редактирования / обновления).

Но поскольку я уже пару лет не программирую на .NET, я просто не могу найти наилучший способ решения проблемы за короткий промежуток времени.

Кажется, что программа чтения CSV должна основываться на адаптере SQL со строкой подключения к «Microsoft Text Provider», но для этого требуются инструкции SQL update / delete, не так ли? Кроме того, различные разделители вызывают проблемы «,;t».

Должен ли я просто пропустить весь этот специфичный для .NET способ работы с данными и просто написать свой собственный анализатор с помощью simple table?

Есть ли хорошая шпаргалка, где я могу быстро просмотреть различия между сетками данных и адаптерами данных, чтобы понять, какую из них мне следует выбрать для выполнения задачи, и плюсы / минусы для каждого из них.

Я действительно не с нетерпением жду 10 дней изучения документации, поскольку я не планирую использовать .СЕТИ в будущем много, но почему-то я просто не могу найти то, что ищу в документах / статьях, и я не хочу повторно внедрять всю функциональность, которая широко доступна с нуля.

Кто-нибудь может дать мне подсказку, где искать ответы, которые не требуют часов, потраченных впустую на наполовину соответствующую документацию?

Ответ №1:

Я думаю, вы здесь что-то смешиваете. DataGridView это просто представление данных. CSV — это формат данных. Итак, вам просто нужно прочитать CSV-файл в привязываемую структуру и привязать к сетке. Сама сетка предоставляет пользовательский интерфейс для редактирования, обновления и т.д., Но вам решать сериализовать данные, к которым привязана сетка, обратно в CSV.

Хотя вы можете использовать MS Text Provider, для этого требуется, чтобы на компьютере был установлен поставщик, поэтому вы будете зависеть от него. Я бы посоветовал вам либо создать свой собственный анализатор (это довольно простой формат), либо использовать какую-нибудь библиотеку с открытым исходным кодом, например http://www.filehelpers.com /

Комментарии:

1. Да, я все еще пытаюсь понять весь поток. Пока кажется, что цепочка выглядит примерно так: (DataGrid / ListView / FormView /…)<-> (DataAdapter / SqlDataAdapter/DataSet/?DataTable?) И комбинации кажутся бесконечными…

2. Что ж, вам решать, что вы используете. Вам ничего этого не нужно, все зависит от вашего сценария. Если вам нужно только разобрать CSV из файла и записать обратно в этот файл, вам вообще не нужны адаптеры данных или наборы данных, они предназначены для работы с системами баз данных. Похоже, что работать над чем-либо вообще без изучения некоторых документов будет невозможно.

3. Я не против изучения документов, но я хочу найти компактный документ. Интерфейсы / поток данных/ Объекты. MSDN, похоже, охватывает только классы, а не их взаимосвязи и назначения.

4. В MSDN также есть обзоры, а не только ссылки на классы. Но есть множество руководств по asp.net и привязкой данных в Интернете. Например, посмотрите, как легко это может быть, если вам не нужен доступ к базе данных: geekpedia.com /… или 4guysfromrolla.com/demos/BindArrayDL.aspx В вашем случае самым простым представлением в памяти CSV (если вы не знаете структуру столбцов) может быть список массивов.

5. Никогда не знал, что в качестве источника данных можно использовать простые массивы. Я думаю, это правильное направление.