Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 2 / 1
Регистрация: 02.12.2011
Сообщений: 56

Не совпадают индексы в datatable и datagridview

26.09.2013, 15:19. Показов 844. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем, столкнулся с такой проблемой у меня есть dataset c двумя таблицами связанными по ключевым столбцам. На форме я выбираю строку в datagridview где отображаются данные с первой таблицы, и нажимаю кнопку чтобы редактировать данные по связанной записи во второй таблице. Пока я не сортирую данные кликом на заголовок колонки в datagridview все нормально, но как толко данные отсортированы то индексы в dg и dataset перестают совпадать и для редактирования открываются не те записи. Как сделать так чтобы после сортировки все работало нормально? Вот код редактирования данных во втрой таблице:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
private void Information()
        {
            OleDbConnection connection = ConnectToDb();
 
            OleDbCommand command1 = new OleDbCommand("SELECT * FROM Klients");
            OleDbCommand command2 = new OleDbCommand("SELECT * FROM Information");
 
            command1.Connection = connection;
            command2.Connection = connection;
 
            OleDbDataAdapter adapter1 = new OleDbDataAdapter(command1);
            OleDbDataAdapter adapter2 = new OleDbDataAdapter(command2);
 
            DataSet dataset = new DataSet();
 
            adapter1.Fill(dataset, "Klients");
            adapter2.Fill(dataset, "Informations");
 
 
 
            DataRelation relation = new DataRelation("Inf", dataset.Tables["Klients"].Columns[0],
                dataset.Tables["Informations"].Columns[0]);
            dataset.Relations.Add(relation);
 
            int index = dataGridView1.CurrentRow.Index; 
 
            
 
            foreach (DataRow row in dataset.Tables[0].Rows[index].GetChildRows("Inf"))
            {
                Information_Class temp = new Information_Class();
                temp.Urlico = row["Юрлицо"].ToString();
                temp.Information = row["Информация"].ToString();
                string find = row["Ідентифікатор"].ToString();
 
                Information form = new Information(temp);
                if (form.ShowDialog() != DialogResult.OK)
                    return;
                
 
                row.BeginEdit();
                row["Информация"] = temp.Information;
                row.EndEdit();
 
                adapter2.UpdateCommand = new OleDbCommand("UPDATE Information SET [Юрлицо] =?,[Информация]=?" + "WHERE [Ідентифікатор]=" + find);
                adapter2.UpdateCommand.Parameters.Add("Юрлицо", OleDbType.VarChar, 50, "Юрлицо");
                adapter2.UpdateCommand.Parameters.Add("Информация", OleDbType.VarChar, 5000, "Информация");
 
                adapter2.UpdateCommand.Connection = connection;
                adapter2.Update(dataset.Tables[1]);
                connection.Close();
            }
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.09.2013, 15:19
Ответы с готовыми решениями:

Вычислить сумму елементов массива, индексы которых совпадают со значением елемента.
Вычислить сумму елементов массива, индексы которых совпадают со значением елемента. Я вообщем начал (массив статический), как сварганить...

Вычислить сумму тех элементов массива индексы которых совпадают с их значениями
Вычислить s-сумму тех элементов массива A, индексы совпадают со значениями элементов массива.

DataTable в DataGridView
Здравствуйте, уважаемые форумчяне! Мне нужно создать кредитный калькулятор и вывести в таблице систему оплаты по месяцам. Вроде все...

1
2 / 2 / 1
Регистрация: 02.12.2011
Сообщений: 56
30.09.2013, 12:56  [ТС]
Неужели ни кто незнает? Помогите уже неделю мучаюсь с этим!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.09.2013, 12:56
Помогаю со студенческими работами здесь

DataTable и DataGridView
Имеем таблицу DataTable (допустим пять столбцов) и DataGridView привязанную к ней нужно изменить столбец №1 например умножить на число...

Заполнение DataGridView из DataTable
Здравствуйте уважаемые эксперты! Есть следующий код: static class FillDataGridView { private static DataTable...

Формирование DataGridView из DataTable
Всем привет! Вопрос в следующем, например есть таблица в БД с полями id, name, если эти данные грузить через DataSource, то эти поля...

Связать DataGridView и DataTable
Все привет, возникла проблема. создал datagrid view, ввожу в него с клавы данные, пытаюсь приравнять datasource к datatable. а в datasource...

Перенос из DataTable в DataGridView
Здравствуйте! Есть класс: public class Competition { public DataTable table; public void SaveTableToData...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru