2015-07-12 122 views
-2

clients具有列country。這包含一個代碼如何將加入的列添加到數據網格視圖

  • NL
  • GB

長名稱表的國家之中。我可以放置一個窗口上一個DataGridView與例如一個SQL查詢來填充它:

Dim myda As New MySqlDataAdapter 
Dim dbDataset As New DataTable 
Dim bSource As New BindingSource 
Dim query = 「SELECT clients.client_id, clients.client_name, countries.country country FROM clients LEFT OUTER JOIN countries ON countries.country_code = clients.country WHERE ..." 

conn.Open() 
Dim cmd = New MySqlCommand(query, conn) 
myda.SelectCommand = cmd 
myda.Fill(dbDataset) 
bSource.DataSource = dbDataset 
DataGridView1.DataSource = bSource 
myda.Update(dbDataset) 
conn.Close() 

這個工程和長名稱顯示只有當我給聯接的列的別名一樣客戶表中的列名即country。這將覆蓋客戶端列,我無法將其他連接列添加到網格中。

有沒有辦法,我可以例如顯示GB英國在同一個網格?

第二個問題:如何在沒有datagridview的情況下執行此操作?即將各個列拖到窗口中。使用表格適配器填充方法對直接查詢進行排序,但我怎樣才能達到上述目的?

+0

沒有理由說'clients.country AS coountry_cd,',例如,不起作用。第二個問題 - 預計一次提出一個問題,當你提出問題時,請詳細說明你的目標,因爲目前還不清楚。 – Crowcoder

+0

謝謝你的回答,我對第二個問題感到抱歉。我不擅長解釋自己,但是:網格來自一張桌子 - 客戶端有'國家'列。如果我加入另一個表(國家)... clients.country as country_code ... JOIN ....作爲國家,則加入的列代替網格中的國家/地區,但不會顯示country_code。換句話說,我不能以這種方式向網格添加一列。我可以替換列但不添加列。我肯定缺少一些基本的東西,但是什麼? 無論如何,謝謝你的傾聽。 –

+0

嗨,我到了那裏 - 慢慢地。我找到了添加列的方法。 DataGridView1.Columns.Add(「country_code」,「country_code」)只能填充它。 ... clients.country as country_code不起作用。我將命令放在上面的代碼中的comm.open()之後。 –

回答

0

設置DataGridView1.AutoGenerateColumns = true可以自動顯示查詢中的所有列。

相關問題