在创建带有2列的动态datagridview时,我确实陷入了困境,我使用了datgridtextboxcolumns列,但是我一直收到这个错误
无法将“system.windows.forms.datagridtextboxcolumn”和"dgviewcol2“隐式转换为"dgviewcol1”和“dgviewcol2”
当我尝试用AddRange添加新列时。我还出现了一个错误,即在datagridviewtextboxcolumn列中不存在可视属性,这是false。
有人知道我怎样才能摆脱这些错误吗?非常感谢!
private DataGridView dgview;
private DataGridTextBoxColumn dgviewcol1;
private DataGridTextBoxColumn dgviewcol2;
void Search()
{
dgview = new DataGridView();
dgviewcol1 = new DataGridTextBoxColumn();
dgviewcol2 = new DataGridTextBoxColumn();
this.dgview.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgview.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {this.dgviewcol1, this.dgviewcol2}); // "cannot implicitly convert type system.windows.forms.datagridtextboxcolumn to system.windows.forms.datagridviewcolumn"
dataGridView2.Visible = false;
this.dgviewcol1.Visible = false; // Visible property doesn't exist in datagridviewtextboxcolumn
this.dgviewcol2.Visible = false;
this.Controls.Add(dgview);
this.dgview.ReadOnly = true;
dgview.BringToFront();
}
发布于 2019-02-27 18:25:22
您正在尝试将DataGridTextBoxColumn
添加到DataGridView
中,而不是添加DataGridViewTextBoxColumn
,因此编译器试图将其转换为抛出异常的DataGridViewColumn。
private DataGridView dgview;
private DataGridViewTextBoxColumn dgviewcol1;
private DataGridViewTextBoxColumn dgviewcol2;
void Search()
{
dgview = new DataGridView();
dgviewcol1 = new DataGridViewTextBoxColumn();
dgviewcol2 = new DataGridViewTextBoxColumn();
this.dgview.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgview.Columns.AddRange(new System.Windows.Forms.DataGridViewTextBoxColumn[] {this.dgviewcol1, this.dgviewcol2}); // "cannot implicitly convert type system.windows.forms.datagridtextboxcolumn to system.windows.forms.datagridviewcolumn"
dataGridView2.Visible = false;
this.dgviewcol1.Visible = false; // Visible property doesn't exist in datagridviewtextboxcolumn
this.dgviewcol2.Visible = false;
this.Controls.Add(dgview);
this.dgview.ReadOnly = true;
dgview.BringToFront();
}
希望这能解决你的问题
https://stackoverflow.com/questions/54908189
复制相似问题