Я пытаюсь динамически фильтровать представление данных, которое заполняется вводом xml с использованием текстового поля.
Если я начну режим отладки,
- форма будет загружена
- представление данных будет заполнено вводом XML-файла (Form1_FormLoad)
- Я могу добавить некоторый вклад в представление сетки данных
- Я могу обновить выбранную строку
- Я могу выбрать путь, по которому сетка данных должна быть сохранена как XML
- Я могу сохранить отредактированное / неотредактированное представление данных в виде xml-файла
Сохранение происходит таким же образом, как xml-чтение / открытие.
Но что бы я ни пытался, я не могу отфильтровать эти данные в несвязанном виде.
Я нашел 2 метода. У обоих есть недостаток (для меня, как noob), что я должен сначала связать данные. Поэтому, если бы я использовал их, мне пришлось бы переписать весь другой код сохранения, загрузки, добавления и обновления. Потому что я не могу добавить новую строку в источник данных с привязкой. (Сообщение об ошибке)
Так что я был бы рад, если бы кто-то мог предложить некоторые идеи / решения, как я могу реализовать фильтрацию без
- публичный набор данных ds
получить; задавать;
- добавление ввода сетки данных в код
Код описывает метод, как я добавляю xml-ввод в представление таблицы данных.
Я ищу решения с 1 недели. Если бы я написал одну букву в текстовом поле, он был бы пустым, но в этом случае представление таблицы данных стало бы пустым. И если бы я стерла одну букву, представление таблицы данных все равно было бы пустым.
PS. Я хотел бы сказать, что я не имею ни малейшего понятия о кодировании. Я искал несколько фрагментов кода и попробовал их ^^: /
Если кто-то спросит, я могу опубликовать 2 метода, как это работает. Я тоже их попробовал:)
pathbox.Text = Properties.Settings.Default.pathbox;
string somePath = pathbox.Text;
string filename = "test.xml";
string path = Path.Combine(somePath, filename);
DataSet ds = new DataSet();
ds.ReadXml(path);
foreach (DataRow item in ds.Tables["Player"].Rows)
{
int n = dgw1.Rows.Add();
dgw1.Rows[n].Cells[0].Value = item["Name"].ToString();
dgw1.Rows[n].Cells[1].Value = item["Age"].ToString();
}