Hola, por el error que te está marcando la interpretación que yo hago es la siguiente:
Tienes un DataGridView cuyo contenido se establece a partir de una base de datos. En concreto en esta línea indicas:
Me.Esc_SalarialTableAdapter.Fill(Me.Database1DataSet.Esc_Salarial)
Es decir, que el dataGridView se rellena a partir de la tabla Esc_Salarial obtenidoa a partir de Database1DataSet
Pero después tienes un fragmento de código que dice lo siguiente:
Esc_SalarialDataGridView.ColumnCount = 7
Esc_SalarialDataGridView.Columns(0).Name = "cod_puesto"
Esc_SalarialDataGridView.Columns(1).Name = "nom_puesto"
Esc_SalarialDataGridView.Columns(2).Name = "Sal_nivel1"
Esc_SalarialDataGridView.Columns(3).Name = "Sal_nivel2"
Esc_SalarialDataGridView.Columns(4).Name = "Sal_nivel3"
Esc_SalarialDataGridView.Columns(5).Name = "Sal_nivel4"
Esc_SalarialDataGridView.Columns(6).Name = "Sal_nivel5"
Y aquí lo que estás diciendo es que el dataGridView tendrá 7 columnas, cuyos nombres serán cod_puesto, nom_puesto, etc.
¿Cuál es el problema? Que por un lado estás diciendo que los datos se cargarán desde la base de datos, imagínate que en la base de datos tienes 9 columnas y que son espec_puesto, rut_puesto, etc. y por otro lado estás diciendo que el dataGridView tiene 7 columnas cuyos nombres son cod_puesto, nom_puesto...
Es decir, tienes una contradicción, por un dato dices que los datos vienen de base de datos y por otro los estás tratando de establecer tú como si no vinieran de base de datos. Tienes que decidir: si vienen de base de datos, tendrás que eliminar el establecimiento manual del número de columnas y sus nombres
Saludos!!