Почему первый столбец представления данных только DataGridViewTextBoxColumn? (winforms c#) - PullRequest
0 голосов
/ 24 января 2020

У меня есть представление данных, которое очень долго работало над проектом, выполненным в C#.

Сегодня я начал модификацию, так что первый столбец имеет тип DataGridViewLinkColumn, как на следующем рисунке :

enter image description here

Я изменил тип столбца, как показано на следующем рисунке:

enter image description here

Но, написав код следующим образом:

((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 он используется для отображения данных:

enter image description here

Мой вопрос: нормально ли это для меня, или я должен думать, что есть проблема с установленной Visual Studio на моем P C?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...