2012-06-28 6 views
0

Итак, я разрабатываю небольшую программу, и я хочу импортировать данные из таблицы SQL в datagridview, являясь одним из столбцов, которые ComboBox заполняет из другой таблицы в той же базе данных.Добавление Combobox к Datagridview

Это мой текущий код:

Public Sub Load_black(Optional ByVal linhas As Integer = 20) 
    i = 0 
    black.Columns.Clear() 
    black.Rows.Clear() 
    black.Clear() 
    ProdC.Open() 
    Query = "SELECT * FROM [plano2] where familia like '%tpa%'ORDER BY ordem" 
    myCMD = New SqlClient.SqlCommand(Query, ProdC) 
    myDRR = myCMD.ExecuteReader 
    If myDRR.HasRows = True Then 
     black.Columns.Add("Order", GetType(String)) 
     black.Columns.Add("Number", GetType(String)) 
     black.Columns.Add("Name", GetType(String)) 
     black.Columns.Add("Cut Style", GetType(String)) 
     black.Columns.Add("Cicles/cm", GetType(String)) 
     black.Columns.Add("Leght", GetType(String)) 
     black.Columns.Add("Colors", GetType(String)) 
     black.Columns.Add("Date", GetType(String)) 
     While myDRR.Read And i < linhas 
      black.Rows.Add(myDRR.Item("ordem").ToString, myDRR.Item("ref").ToString, myDRR.Item("design").ToString, myDRR.Item("tipodecorte").ToString, myDRR.Item("passagenscm").ToString, myDRR.Item("largura").ToString, myDRR.Item("numcores").ToString, myDRR.Item("dataentrada").ToString) 
      str_pb_ref(i) = myDRR.Item("ref").ToString 
      i = i + 1 
     End While 
    Else 
     MessageBox.Show("Table is empety.") 
    End If 
    myDRR.Close() 
    ProdC.Close() 
    grd_black.DataSource = black 
End Sub 

То, что я хочу сделать, это добавить новую строку с этим списком.

Я уже пробовал много способов, но либо у меня есть значение в таблице базы данных, либо у меня есть combobox с другими значениями таблицы.

Благодаря

ответ

0

Как я решил эту проблему, прежде чем было установить колонки для DataGridView в виде конструктора, устанавливая определенные столбцы ComboBox.

затем заполнить параметры столбца combobox, используя запрос SELECT DISTINCT.

вы можете скрыть заголовки столбцов до тех пор, пока данные не будут в формате datagridview, если вы хотите заранее.

его немного жопы меняющихся типов столбцов в коде, поскольку каждый тип столбца является другим объектом типа столбца Вы должны сделать новый экземпляр

System.Windows.Forms.DataGridViewComboBoxColumn 

затем добавить, что в DataGridView

(Первое сообщение - Любое?)

+0

Я пробовал, но это работа. Я просто получил чистый колокол. И никаких данных из таблицы, которую я пытался загрузить. – m1aw

+0

ах я не был достаточно ясным. какой метод вы пробовали? вам нужно сделать столбец combobox и получить параметры для выпадающей части, используя отдельный запрос. затем поместите ваши данные в этот столбец из запроса, который у вас уже есть –

+0

, и как я могу синхронизировать данные? – m1aw

Смежные вопросы