Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/131: Рейтинг темы: голосов - 131, средняя оценка - 4.83
 Аватар для lilo
0 / 0 / 0
Регистрация: 09.07.2012
Сообщений: 46

Редактирование ячеек dataGridView, привязанной к данным

11.02.2013, 17:33. Показов 27338. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день! Хэлп, плиз.
Из БД в датагрид выгружаю данные, не построчно.
И нужно, чтобы редактировался один столбец, то есть ячейки из этого столбца. Пробовала разными способами - никак. Может кто сталкивался.)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.02.2013, 17:33
Ответы с готовыми решениями:

Построить график по данным DataGridView, привязанной к БД Access
Всем привет!!! У меня VS 2010. Подключил к dataGridView БД Access и хочу построить в отдельной форме график по таблице. Столкнулся с...

Программное редактирование текста ячеек DataGridView
На форме есть DataGridView и TextBox. Необходимо сделать редактирование CurrentCell не только из самого DataGridView но и из TextBox'а....

Редактирование ячеек DataGridView
Доброго времени суток!!! Есть DataGridView со столбцом типа DataGridViewComboBoxColumn (ComboBox). Как редактировать данные в этих...

18
119 / 119 / 25
Регистрация: 03.03.2010
Сообщений: 436
11.02.2013, 17:39
А если так?
C#
1
dataGridView1.Columns[1].ReadOnly = false;
Добавлено через 1 минуту
Либо наоборот в дизайнере поставить Readonly как false, а все столбцы, которые не должны менятся

C#
1
2
3
4
5
6
7
                    dataGridView2.Columns[2].ReadOnly = true;
                    dataGridView2.Columns[3].ReadOnly = true;
                    dataGridView2.Columns[4].ReadOnly = true;
                    dataGridView2.Columns[5].ReadOnly = true;
                    dataGridView2.Columns[6].ReadOnly = true;
                    dataGridView2.Columns[7].ReadOnly = true;
                    dataGridView2.Columns[8].ReadOnly = true;
1
 Аватар для lilo
0 / 0 / 0
Регистрация: 09.07.2012
Сообщений: 46
11.02.2013, 17:43  [ТС]
Только на событие ReadOnly почему-то не реагирует(
0
119 / 119 / 25
Регистрация: 03.03.2010
Сообщений: 436
11.02.2013, 17:45
lilo, т.е не реагирует? Будьте добры код в студию
0
 Аватар для lilo
0 / 0 / 0
Регистрация: 09.07.2012
Сообщений: 46
11.02.2013, 17:52  [ТС]
Код

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
  // Добавляем столбец в таблицу
        Connection con = new Connection();
 
        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                dataGridView1.DataSource = con.User();
                // dataGridView1.Columns["ID"].Visible = false;  // делаем невидимым столбец с ID          
            }
            catch (Exception c)
            {
                MessageBox.Show(c.Message);
            }
            DataGridViewCheckBoxColumn cb = new DataGridViewCheckBoxColumn();
            dataGridView1.Columns.Add(cb);
            cb.HeaderText = "Удалить";
 
           }
 
        // Создаём кнопку УДАЛЕНИЯ строки
 
        private void button1_UDALENIE(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                 if (dataGridView1[10, i].FormattedValue.ToString() == "True")
                   
                {
                    con.Delete_in_Select(dataGridView1[0, i].Value.ToString());
                    dataGridView1.DataSource = con.User();
                
                }
               
            }
           
        }
 
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        //Создаём кнопку добавления строки
 
        private void Dobavit_button(object sender, EventArgs e)
        {
 
            con.Insert_new(textBox8.Text, textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, dateTimePicker1.Value, "01.01.2050");
            dataGridView1.DataSource = con.User();
            
         }
 
 
        // Создаём кнопку ПОИСК
        private void button2_Poisk(object sender, EventArgs e)
        {
           
            string search = textBox7.Text.Trim();          
            for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                for (int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    //if (dataGridView1[j, i].Value.ToString() == textBox7.Text)
                    if (dataGridView1[2, i].FormattedValue.ToString().Contains(textBox7.Text.Trim()))
                    {
                        dataGridView1[2, i].Style.BackColor = Color.White;
                        dataGridView1[2, i].Style.BackColor = Color.Red;
                    }
                }
            }
            
        }
    }
}
Мне нужно, чтобы столбец "01.01.2050" был активным для редактирования. Я и для всего грида ставила в свойство ReadOnly = false, и для ячейки попробовала. Ничего не выходит
0
119 / 119 / 25
Регистрация: 03.03.2010
Сообщений: 436
11.02.2013, 17:58
Ну у меня так:
1) В дизайнере ReadOnly стоит False
2)Ставлю для всех столбцов которые должны быт неизменными ставлю после "прицепления" данных
C#
1
2
3
       dataGridView2.Columns[2].ReadOnly = true;
                    dataGridView2.Columns[3].ReadOnly = true;
                    dataGridView2.Columns[4].ReadOnly = true;
Т.о первый и нулевой столбец я могу изменять значение, а остальные нет. Странно,что у Вас не редактируется, может вообще Enabled=false стоит?)
0
3 / 3 / 1
Регистрация: 02.10.2012
Сообщений: 109
11.02.2013, 17:58
У тебя всю строку сразу выделяет при клике? У меня из-за этого не реагировала datagridview на readonly...
0
119 / 119 / 25
Регистрация: 03.03.2010
Сообщений: 436
11.02.2013, 18:00
Стоит
C#
1
SelectionMode=FullColumnSelect
0
 Аватар для lilo
0 / 0 / 0
Регистрация: 09.07.2012
Сообщений: 46
11.02.2013, 18:02  [ТС]
неа, выделяет только ту ячейку, на которую я кликаю. Вот незадача-то.

Добавлено через 2 минуты
Неа, Enabled стоит true.
0
119 / 119 / 25
Регистрация: 03.03.2010
Сообщений: 436
11.02.2013, 18:08
C ReadOnly не ясно, но можно попробовать обойти как то так
C#
1
2
3
4
5
6
7
8
private void dataGridView1_CellBeginEdit(object sender, 
   DataGridViewCellCancelEventArgs e)
{
   if (e.ColumnIndex != 0) 
   { 
      e.Cancel = true;
   }
}
1
 Аватар для lilo
0 / 0 / 0
Регистрация: 09.07.2012
Сообщений: 46
11.02.2013, 18:10  [ТС]
Спасибо, но не могли бы Вы мне чуть - чуть объяснить этот код. особенно e.Column, я совсем новичок пока)
0
119 / 119 / 25
Регистрация: 03.03.2010
Сообщений: 436
11.02.2013, 18:15
CellBeginEDit-событие срабатывающее при начале редактирования ячейки. В условии if проверяется, если e.ColumnIndex (т.е. индекс столбца где было событие, т.е. столбец в котором редактируют ячейку) не равно 0, т.е. если это не первый столбец визуально( или нулевой с точки зрения языка), то происходит отмена события, т.е. редактирование не срабатывает.
Вы попробуйте сначала, я по памяти писал,может и не так)

Добавлено через 1 минуту
Кстати e.ColumnIndex- индекс столбца e.RowIndex- индекс строки где событие очень полезны и почти всегда необходимы при работе с datagridview
1
 Аватар для lilo
0 / 0 / 0
Регистрация: 09.07.2012
Сообщений: 46
11.02.2013, 18:26  [ТС]
Походу, мне уже ничто не поможет
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
11.02.2013, 18:59
Цитата Сообщение от lilo Посмотреть сообщение
Я и для всего грида ставила в свойство ReadOnly = false, и для ячейки попробовала. Ничего не выходит
Нужно, чтобы одновременно ReadOnly было false как для грида, так и для колонки =)

По умолчанию, свойство ReadOnly = false как для самого грида, так и для каждой его колонки. Поэтому с доступом на редактирование вы перемудрили сами. Но увидеть, к сожалению, это можно только через дизайнер. А кода, который генерирует дизайнер, вы не предоставили.
1
 Аватар для lilo
0 / 0 / 0
Регистрация: 09.07.2012
Сообщений: 46
12.02.2013, 10:28  [ТС]
Вот дизайнер.
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
namespace WindowsFormsApplication2
{
    partial class Form1
    {
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
 
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        /// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
 
        #region Код, автоматически созданный конструктором форм Windows
 
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        private void InitializeComponent()
        {
            this.dataGridView1 = new System.Windows.Forms.DataGridView();
            this.button1 = new System.Windows.Forms.Button();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.label6 = new System.Windows.Forms.Label();
            this.label7 = new System.Windows.Forms.Label();
            this.label8 = new System.Windows.Forms.Label();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.textBox5 = new System.Windows.Forms.TextBox();
            this.textBox6 = new System.Windows.Forms.TextBox();
            this.button2 = new System.Windows.Forms.Button();
            this.textBox7 = new System.Windows.Forms.TextBox();
            this.button3 = new System.Windows.Forms.Button();
            this.label9 = new System.Windows.Forms.Label();
            this.textBox8 = new System.Windows.Forms.TextBox();
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
            this.SuspendLayout();
            // 
            // dataGridView1
            // 
            this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            this.dataGridView1.Location = new System.Drawing.Point(33, 201);
            this.dataGridView1.Name = "dataGridView1";
            this.dataGridView1.Size = new System.Drawing.Size(1240, 384);
            this.dataGridView1.TabIndex = 0;
            // 
            // button1
            // 
            this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.button1.BackColor = System.Drawing.SystemColors.ActiveBorder;
            this.button1.ForeColor = System.Drawing.Color.Blue;
            this.button1.Location = new System.Drawing.Point(1187, 168);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(86, 27);
            this.button1.TabIndex = 1;
            this.button1.Text = "УДАЛИТЬ";
            this.button1.UseVisualStyleBackColor = false;
            this.button1.Click += new System.EventHandler(this.button1_UDALENIE);
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(139, 9);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(198, 20);
            this.textBox1.TabIndex = 2;
            this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(12, 20);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(65, 13);
            this.label1.TabIndex = 3;
            this.label1.Text = "Должность";
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(12, 47);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(121, 13);
            this.label2.TabIndex = 4;
            this.label2.Text = "Наименование органа";
            // 
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(12, 77);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(34, 13);
            this.label3.TabIndex = 5;
            this.label3.Text = "ФИО";
            // 
            // label4
            // 
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(9, 169);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(95, 13);
            this.label4.TabIndex = 6;
            this.label4.Text = "Дата назначения";
            // 
            // label6
            // 
            this.label6.AutoSize = true;
            this.label6.Location = new System.Drawing.Point(397, 16);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(45, 13);
            this.label6.TabIndex = 8;
            this.label6.Text = "Пасада";
            // 
            // label7
            // 
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(397, 47);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(117, 13);
            this.label7.TabIndex = 9;
            this.label7.Text = "Наiменаванне органа";
            // 
            // label8
            // 
            this.label8.AutoSize = true;
            this.label8.Location = new System.Drawing.Point(397, 77);
            this.label8.Name = "label8";
            this.label8.Size = new System.Drawing.Size(21, 13);
            this.label8.TabIndex = 10;
            this.label8.Text = "ПII";
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(139, 40);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(197, 20);
            this.textBox2.TabIndex = 11;
            // 
            // textBox3
            // 
            this.textBox3.Location = new System.Drawing.Point(140, 74);
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(198, 20);
            this.textBox3.TabIndex = 12;
            // 
            // dateTimePicker1
            // 
            this.dateTimePicker1.Location = new System.Drawing.Point(121, 169);
            this.dateTimePicker1.Name = "dateTimePicker1";
            this.dateTimePicker1.Size = new System.Drawing.Size(215, 20);
            this.dateTimePicker1.TabIndex = 13;
            // 
            // textBox4
            // 
            this.textBox4.Location = new System.Drawing.Point(520, 9);
            this.textBox4.Name = "textBox4";
            this.textBox4.Size = new System.Drawing.Size(191, 20);
            this.textBox4.TabIndex = 15;
            // 
            // textBox5
            // 
            this.textBox5.Location = new System.Drawing.Point(520, 40);
            this.textBox5.Name = "textBox5";
            this.textBox5.Size = new System.Drawing.Size(191, 20);
            this.textBox5.TabIndex = 16;
            // 
            // textBox6
            // 
            this.textBox6.Location = new System.Drawing.Point(520, 74);
            this.textBox6.Name = "textBox6";
            this.textBox6.Size = new System.Drawing.Size(191, 20);
            this.textBox6.TabIndex = 17;
            // 
            // button2
            // 
            this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.button2.BackColor = System.Drawing.SystemColors.ActiveBorder;
            this.button2.ForeColor = System.Drawing.Color.Blue;
            this.button2.Location = new System.Drawing.Point(1187, 63);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(86, 27);
            this.button2.TabIndex = 18;
            this.button2.Text = "ПОИСК";
            this.button2.UseVisualStyleBackColor = false;
            this.button2.Click += new System.EventHandler(this.button2_Poisk);
            // 
            // textBox7
            // 
            this.textBox7.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
            | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
            this.textBox7.Location = new System.Drawing.Point(867, 20);
            this.textBox7.Name = "textBox7";
            this.textBox7.Size = new System.Drawing.Size(406, 20);
            this.textBox7.TabIndex = 19;
            // 
            // button3
            // 
            this.button3.BackColor = System.Drawing.Color.Silver;
            this.button3.ForeColor = System.Drawing.Color.Blue;
            this.button3.Location = new System.Drawing.Point(625, 115);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(86, 27);
            this.button3.TabIndex = 20;
            this.button3.Text = "ДОБАВИТЬ";
            this.button3.UseVisualStyleBackColor = false;
            this.button3.Click += new System.EventHandler(this.Dobavit_button);
            // 
            // label9
            // 
            this.label9.AutoSize = true;
            this.label9.Location = new System.Drawing.Point(10, 115);
            this.label9.Name = "label9";
            this.label9.Size = new System.Drawing.Size(94, 13);
            this.label9.TabIndex = 22;
            this.label9.Text = "Код организации";
            // 
            // textBox8
            // 
            this.textBox8.Location = new System.Drawing.Point(139, 112);
            this.textBox8.Name = "textBox8";
            this.textBox8.Size = new System.Drawing.Size(100, 20);
            this.textBox8.TabIndex = 25;
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
            this.ClientSize = new System.Drawing.Size(1302, 597);
            this.Controls.Add(this.textBox8);
            this.Controls.Add(this.label9);
            this.Controls.Add(this.button3);
            this.Controls.Add(this.textBox7);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.textBox6);
            this.Controls.Add(this.textBox5);
            this.Controls.Add(this.textBox4);
            this.Controls.Add(this.dateTimePicker1);
            this.Controls.Add(this.textBox3);
            this.Controls.Add(this.textBox2);
            this.Controls.Add(this.label8);
            this.Controls.Add(this.label7);
            this.Controls.Add(this.label6);
            this.Controls.Add(this.label4);
            this.Controls.Add(this.label3);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.label1);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.dataGridView1);
            this.ForeColor = System.Drawing.Color.Blue;
            this.Name = "Form1";
            this.Text = "Подписи ДСП";
            this.Load += new System.EventHandler(this.Form1_Load);
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
            this.ResumeLayout(false);
            this.PerformLayout();
 
        }
 
        #endregion
 
        private System.Windows.Forms.DataGridView dataGridView1;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.Label label6;
        private System.Windows.Forms.Label label7;
        private System.Windows.Forms.Label label8;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.DateTimePicker dateTimePicker1;
        private System.Windows.Forms.TextBox textBox4;
        private System.Windows.Forms.TextBox textBox5;
        private System.Windows.Forms.TextBox textBox6;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.TextBox textBox7;
        private System.Windows.Forms.Button button3;
        private System.Windows.Forms.Label label9;
        private System.Windows.Forms.TextBox textBox8;
    }
}
У меня и датагрид на ReadOnly стоит false, и столбцы тоже стоят ReadOnly = false.
При компиляции выдает ошибку: Свойство ReadOnly столбца DataGridView с привязкой к полю только для чтения должно иметь значение True.
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
12.02.2013, 12:26
Цитата Сообщение от lilo Посмотреть сообщение
Свойство ReadOnly столбца DataGridView с привязкой к полю только для чтения должно иметь значение True.
Значит вам сначала нужно снять свйоство ReadOnly в соответсвующем столбце DataTable, которая привязана к DataGridView.
0
 Аватар для URAHOV
4 / 4 / 0
Регистрация: 27.12.2015
Сообщений: 47
01.08.2021, 21:10
Если dgv настроен readonly = false, editmode = НЕ!!! EditProgrammaticaly
тогда нужно смотреть, что привязываете к dgv.
Например при привязке списка анонимных типов List<'a> ячейки невозможно будет отредактировать ну если может что-то выдумывать и наворачивать.
DGV отображает только св-ва привязываемого типа.
1. DataGridView.Rows Свойство. Привязка данных, создание строк с данными
2. Как привязать данные к элементу управления Windows Forms DataGridView
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
02.08.2021, 12:45
URAHOV, 8 лет прошло...
0
 Аватар для URAHOV
4 / 4 / 0
Регистрация: 27.12.2015
Сообщений: 47
03.08.2021, 03:44
Цитата Сообщение от Diamante Посмотреть сообщение
URAHOV, 8 лет прошло...
Да хоть 20.
Выдаёт поиск. Может кому и пригодится.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2021, 03:44
Помогаю со студенческими работами здесь

Редактирование ячеек в ListView
НАверное такой вопрос подымался не раз, но я не могу найти решение. Вопрос вот в чем: есть ListView с 4 колонками. 3 заполняются...

Диаграмма по данным из DataGridView
Имеется элемент DataGridView (две колонки &quot;Название&quot; и &quot;Сумма&quot;), который заполняется из xml файла. Как построить круговую диаграмму из...

Вычисление по данным в DataGridView
Доброго дня форумчане! Подскажите ответ на следующий вопрос? Есть БД на где хранятся определенные данные, и есть форма в C# на...

Исправить вывод графика по данным из DataGridView
Всем доброго вечера! Мне нужно динамически кривой график,который берет значения из dgv,но если числа по нарастающей,то строится прямая,но...

Рисование графика в Chart по данным из DataGridView
Перелазил весь инет но так и не нашёл ответа. Есть datagridview и chart. Пользователь вводит данные в DataGridView и при нажатии на кнопку...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru