hola he cambiado asi
   Cita:  If FACTURADataGridView.Columns(e.ColumnIndex).Name = "CODIGO" Then
 
            Dim combo As DataGridViewComboBoxCell = TryCast(FACTURADataGridView.Rows(e.RowIndex).Cells  (e.ColumnIndex), DataGridViewComboBoxCell)
 
            Dim valorstring As String = Convert.ToInt32(combo.Value)
 
 
            Dim sqlstring As String = "SELECT * FROM PRODUCTO WHERE CODIGO_PRODUCTO= CODIGO_PRODUCTO"
 
            Dim cmd As New SqlCommand(sqlstring, conexion)
 
            cmd.Parameters.AddWithValue("CODIGO_PRODUCTO", valorstring)
 
            conexion.Open()
 
            Dim reader As SqlDataReader = cmd.ExecuteReader()
 
 
            If reader.Read() Then
                FACTURADataGridView.Rows.Add(reader("DESCRIPCION_P  RODUCTO"), reader("MARCA"), reader("PRECIO_DE_VENTA"))
                conexion.Close()
    esta bien donde abri la conexion 
lo ejecuto y me sale error  
se produjo la siguiente excepcion en datagridview 
SYSTEM.ARGUMENT.EXCEPTION: EL VALOR DEL DATAGRIDVIEWCOMBOCELL NO ES VALIDO.  
EL DATAGRID QUE TENGO LO ARRASTRE DE MI BASE DE DATOS PARA COLOCARLO EN EL FORMULARIO ADEMAS LOGRE QUE LOS ITEMS SE VEAN EN EL COMBOBOXCOLUMN PERO LO CONFIGURE EN LA VENTADA DE DISEÑO LO QUE ME FALTA ES QUE AL ESCOJER UN CODIGO SE ME LLENE LAS OTRAS COLUMNAS