2013-08-16 3 views
0

Я пишу код в приложении формы Windows для изменения имени заголовка.Как мы меняем имя заголовка datagridview?

  DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle(); 
      columnHeaderStyle.BackColor = Color.Beige; 
      columnHeaderStyle.Font = new Font("Bookman Old Style", 8, FontStyle.Bold); 
      dataGridView1.ColumnHeadersDefaultCellStyle = columnHeaderStyle; 

      dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); 
      dataGridView1.Columns[0].HeaderText = "Item Code"; 
      dataGridView1.Columns[1].HeaderText = "Item Name"; 

Но когда я запускаю этот код, появляется сообщение об ошибке. "Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index" Как это решить?

+0

Очевидно, что ваш 'dataGridView1' не имеет никакого столбца. –

+0

Проверьте привязки данных и фактические столбцы в сетке. Кроме того, вы должны установить это в свойствах столбцов сетки, а не в коде (если вы не генерируете его на лету) –

+0

Да. Нет столбца. Я хочу создать пустой datagridview. Я вставляю в него данные. И когда я нажимаю кнопку сохранения, данные сохраняются в базе данных. Итак, как я могу его создать? –

ответ

0

Индекс был за пределами допустимого диапазона. Должно быть неотрицательным и меньше, чем размер имени collection.Parameter: индекс

Вы получаете эту ошибку, потому что ваш DataGridView не имеет столбцов, и вы пытаетесь получить доступ к колонку с индексом 0 в следующий код

dataGridView1.Columns[0] 

Как я пройти через ваши комментарии вы упомянули, что вы создаете пустой DataGridView, а затем назначить источник данных к нему. Если это так, вам нужно получить доступ к столбцам после назначения источника данных. Кроме того, необходимо убедиться, что AutoGenerateColumns = истинные

или если вы хотите, чтобы создать несвязанный DataGridView В следующем примере кода показано, как создать несвязанный DataGridView;

Хотя во избежание исключения и убедитесь, что у вас есть столбцы в вашем документе datagridview. Вы можете вначале сделать это

if(dataGridView1.Columns.Count> 2) 
{ 
    //your code 
} 
Смежные вопросы