powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Редактирование в DataGridView
15 сообщений из 15, страница 1 из 1
Редактирование в DataGridView
    #37374462
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите почему DataGridView не переходит в режим редактирования ? Свойство ReadOnly grid`а стоит false, у столбцов тоже самое. DataGridView.DataSource - Таблица, созданна вручную. Ничего особенного нет. Просто заполены некторые данные.
Никакими способами не могу добиться чтобы редактирование начало работать. Что надо сделать ?

И еще вопрос: есть такой тип столбцов DataGridViewComdoboxColumn. Как сделать чтобы в комбобоксе был список доступных значений для некоего поля таблицы, и чтобы при выборе значения в комбобоксе это значение устанавливалось в соответствующий столбец таблицы. Ну и соответственно, чтобы комбобокс сам отображал значение столбца таблицы по каждой строке. Доспустимые значения, которые может принимать столбец нашей таблице храняться в отдельной таблице и их можно связать посредством DataRelation.

Спасибо.
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37374471
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так по редактированию отбой. Нашел корягу. У Columns DataTable свойство ReadOnly стояло true.
А вот по Комбобокс помогите.
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37374473
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Вашем случае связка такая DataGridView <--> DataView <--> DataTable.

Проверьте свойство DataView.AllowDelete, DataView.AllowEdit, DataView.AllowNew.

Возможно что-то в них.
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37374544
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ermak,

Спасибо, но с редактированием я разобрался. Щас я не могу заставить отображать в комбобоксе нужные мне значения из связаной таблицы. Еще не понятно как отобразить в колонке DataGridView связанное поле из другой таблицы.
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37374551
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А оно надо комбо боксы именно в гриде?
Сделай отдельную форму для правки и ввода новых записей.
Стандартное решение. В ней же удобно будет делать проверку (валидацию) всех введенных значений...
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37376063
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ermak,

Да, надо. Привычка, знаете ли, осталась от Visual Foxpro.
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37376193
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Есть такая хорошая штука

101 Code Samples for Visual Basic and C# (2003)

Я сильно подозреваю, что 99% ответов на все вопросы в этом форуме находятся там
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37376200
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты все это в коде делал:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
//типа что-то так

DataGridViewColumn c;
foreach(DataColumn dc in dataSet1.Tables["Основная таблица"])
{
    if(dc.ColumnName == "Поле для ComboBox")
    {
          DataGridViewComboBoxColumn cmbC = new DataGridViewComboBoxColumn();
          cmbC.DataSource = dataSet1;
          cmbC.DisplayMember = "СпрТабл.Name";
          cmbC.ValueMember = "СпрТабл.ID";
          c = cmbC;
    }
    else
        c = new DataGridViewTextBoxColumn();
    c.Name = dc.ColumnName;
    c.DataPropertyName = dc.ColumnName;
    dataGridView1.Columns.Add(c);
}

ну вот как-то так можно например.
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37376222
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, забыл и только потом:
Код: plaintext
1.
dataGridView1.DataSource = dataSet1;
dataGridView1.DataMember = "Основная таблица";
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37377740
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,

Спасибо большое за сцылку. Я ведь начинающий, так что мои вопросы могут показаться странными. Не пугайтесь.
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #37377742
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fortibransa,

И вам спасибо большое. Буду разбираться.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Редактирование в DataGridView
    #39388052
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Измучился, не выходит в режим редактирования.... DataGridView заполняется из dataTable.DefaultView
Вот это тоже не помогает:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
var column_names = columnnamesline.Split(',');
                var columns_indexes_DGV = GetColumnsIndexesInDGV(column_names);
                var columns_indexes_DT = GetColumnsIndexesInDT(column_names);
                foreach (int column_index in columns_indexes_DT)
                {
                    dt.Columns[column_index].ReadOnly = false;
                    dt.DefaultView.AllowEdit = true;
                    MessageBox.Show(column_index.ToString());
                }
                foreach (string column_name in column_names)
                {
                    dataGridView1.ReadOnly = false;
                    dataGridView1.Columns[column_name].ReadOnly = false;
                    dataGridView1.Columns[column_name].Frozen = false;
                    MessageBox.Show(column_name);
                }


Все индексы исправно получаются, соответствуют...
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #39388055
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А точнее загрузка такая - CSV - DataTable - Datatable.DefauldView - DataGridView
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #39388168
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак. Что на данный момент имеется.
В properties dataGridView1.ReadOnly установлено true
Грузим
Код: c#
1.
DataGridView.Dataset = Datatable 


Далее
Код: c#
1.
dataGridView1.ReadOnly = false;


Результат: редатируемые ячейки.
Если после загрузки не делать
Код: c#
1.
dataGridView1.ReadOnly = false;

- то ячейки не редактируемые. Логично? логично!

Но если так:
В properties dataGridView1.ReadOnly установлено false
Грузим
Код: c#
1.
DataGridView.Dataset = Datatable 


Далее
Код: c#
1.
dataGridView1.ReadOnly = false;


Результат: НЕ редатируемые ячейки.

Я вообще не понимаю логику!!! кто-нибудь объяснит что за происходит? Это глюк шарпа???

Фиг с ним, меня далее интересует.
Фильтрую и загружаю Defaultview - измучился, не могу сделать никак ячейки редактируемыми, все комбинации уже перебрал...

Код: c#
1.
dt.DefaultView.RowFilter = rowfilter;


Не помогает сделать ячейки редактируемыми:
Код: c#
1.
2.
dt.DefaultView.AllowEdit = true;
dataGridView1.ReadOnly = false;
...
Рейтинг: 0 / 0
Редактирование в DataGridView
    #39388423
sorockinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал так, заработало. Глюк какой-то..
Код: c#
1.
2.
3.
dataGridView1.ReadOnly = true;
dt.DefaultView.AllowEdit = true;
dataGridView1.ReadOnly = false;
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Редактирование в DataGridView
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]