2016-08-23 79 views
0

我的DataGridView显示额外的列。该应用程序是一个Windows窗体应用程序。我可能做错了什么?Windows窗体:DataGridView中的额外列

public ConvertisForm1() 
    { 
     InitializeComponent(); 
     openFileDialog.Filter = "Files| *.chm;*.htm;*.html;*.rtf;*.xls;*.xlsx;*.xps;*.doc;*.docx";  
    dataGridView.AutoGenerateColumns = false; 
    dataGridView.RowHeadersVisible = false; 
    dataGridView.ColumnCount = 5; 

    dataGridView.RowCount = 20; 
    //delete button 
    var deleteDataGridViewButtonColumn = new DataGridViewButtonColumn 
    { 
     HeaderText = "", 
     Name = deleteDataGridViewButtonColumnName, 
     Text = "X", 
     Width =20 
    }; 
    dataGridView.Columns.Insert(DeleteColumnIndex, deleteDataGridViewButtonColumn); 

    dataGridView.Columns[FileNameAndPathColumnIndex].Width=250; 
    dataGridView.Columns[FileNameAndPathColumnIndex].HeaderText = "File Path"; 

    //browse button 
    var browseDataGridViewButtonColumn = new DataGridViewButtonColumn 
    { 
     HeaderText = "", 
     Name = browseDataGridViewButtonColumnName, 
     Text = "...", 
     Width = 30 
    }; 
    dataGridView.Columns.Insert(BrowseButtonColumnIndex, browseDataGridViewButtonColumn); 

    //convert to dropdown 
    var convertToDataGridViewComboBoxColumn = new DataGridViewComboBoxColumn 
    { 
     HeaderText = "Convert to", 
     Name = convertToDataGridViewComboBoxColumnName, 
     DataSource = new ArrayList { convertToComboBoxDefault, "pdf", "word"}, 
     Width = 100, 
     DefaultCellStyle = 
     { 
      NullValue = convertToComboBoxDefault, 
      DataSourceNullValue = convertToComboBoxDefault 
     } 
    }; 

    dataGridView.Columns.Insert(ConvertToFileTypeColumnIndex, convertToDataGridViewComboBoxColumn); 

    var convertDataGridViewButtonColumn = new DataGridViewButtonColumn 
    { 
     HeaderText = "", 
     Name = convertDataGridViewButtonColumnName, 
     Text = "Convert", 
     Width = 50 
    }; 
    dataGridView.Columns.Insert(ConvertButtonColumnIndex, convertDataGridViewButtonColumn); 
    dataGridView.AllowUserToResizeColumns = false; 
    dataGridView.AllowUserToResizeRows = false; 
    #endregion 
} 

enter image description here

+2

是这个dataGridView.ColumnCount = 5; ? – active92

+0

@ active92您不必提出这个问题。 :-) – LarsTech

回答

2

你试过DataGridView1.AutoGenerateColumns = false;

,或者你可以明确所有添加新列

列前见链接以供参考:https://stackoverflow.com/a/7430993/5694113

+1

他的autogeneratedcolumns已被设置为false,但他将他的列数设置为5.我认为这就是他获得5列的原因。 – active92

+0

上帝保佑@TheQuestioner。删除ColumnCount = 5,清除列(在添加列之前)解决了问题。 –

+0

如果您认为帖子帮助您解决了您的问题。请将其标记为答案。很高兴我帮助:) – TheQuestioner

相关问题