У меня есть представление данных, которое очень долго работало над проектом, выполненным в C#.
Сегодня я начал модификацию, так что первый столбец имеет тип DataGridViewLinkColumn, как на следующем рисунке :
Я изменил тип столбца, как показано на следующем рисунке:
Но, написав код следующим образом:
((DataGridViewLinkCell)dgvListaGastos.Rows[i].Cells[0]).Value = listaDeGastos.ElementAt(i).descripcion;
((DataGridViewLinkCell)dgvListaGastos.Rows[i].Cells[0]).ReadOnly = false;
Ошибка при выполнении тех строк, которые указывают, что DataGridViewTextBoxCell не может быть изменен на DataGridViewLinkCell.
И если он записан следующим образом, он работает:
((DataGridViewTextBoxCell)dgvListaGastos.Rows[i].Cells[0]).Value = listaDeGastos.ElementAt(i).descripcion;
((DataGridViewTextBoxCell)dgvListaGastos.Rows[i].Cells[0]).ReadOnly = false;
При выполнении строк ошибки нет, но показанный текст похож на простой текстовый блок, то есть без изменений.
И представление данных сетки инициализируется так, как должно быть ( this.Nombre = новая система. Windows .Forms.DataGridViewLinkColumn ():
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Gastos));
this.lLCrearGastoListaDeGastos = new System.Windows.Forms.LinkLabel();
this.label1 = new System.Windows.Forms.Label();
this.dgvListaGastos = new System.Windows.Forms.DataGridViewLinkColumn();
this.Nombre = new System.Windows.Forms.DataGridViewLinkColumn();
this.fechaRegistroListaGastos = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.totalListaDeGastos = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.modificarGasto = new System.Windows.Forms.DataGridViewLinkColumn();
После выполнения нескольких тестов я понял, что проблема заключается только в первом столбце (индекс = 0), в то время как с другими вы можете изменить тип столбца.
Решением было создать дополнительный столбец (столбец 0) и сделать его невидимым, тогда как из столбца 1 он используется для отображения данных:
Мой вопрос: нормально ли это для меня, или я должен думать, что есть проблема с установленной Visual Studio на моем P C?