2013-02-01 80 views
-1
  1. 我正在使用datagridview連接到我的數據庫中的表。 我想更改dgv中的某一列,因爲現在,我可以在此列中看到不同表格(dgv僅顯示來自sql中第一個表的信息)的id(fk)。 我試圖將這些列連接到不同的表,以獲得文本,而不是id。如何將datagridview中的列連接到不同的sql表?

  2. 當我從gridview中選擇行我想在下拉列表中顯示該項目而不是值。代碼

例如:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    accountIdTB.Text = accountsDGV.SelectedRow.Cells[1].Text; 
    AccountTB.Text = accountsDGV.SelectedRow.Cells[3].Text; 
    phoneTB.Text = accountsDGV.SelectedRow.Cells[4].Text; 
    webSiteTB.Text = accountsDGV.SelectedRow.Cells[5].Text; 
    string str = accountsDGV.SelectedRow.Cells[7].Text; 
    industryDDL.ClearSelection(); 
    industryDDL.DataTextField = str; 
} 
+0

顯示您的SELECT語句。你需要一個JOIN來加入ID上的其他表以獲得名字。 – MikeSmithDev

+0

SELECT * FROM [Accounts] –

回答

0

,你能不能給我們您使用的是SQL語句?大多數情況下,您可以通過使用INNER JOIN修改SQL查詢來輕鬆實現此目的,以便從其他表中包含人類可讀數據而不是顯示外鍵ID。

其他選項是使用上面使用的連接,並在每次選擇索引更新時查詢第二個表。

希望這可以幫助,但請提供更多的細節。 SQL語句和/或表結構。

+0

SELECT dbo.Account_Industry.Description,dbo.Accounts.Account_Id,dbo.Accounts.User_Id,dbo.Accounts.Account_Name,dbo.Accounts.Phone,dbo.Accounts.Address, dbo.Accounts。 Annual_Revenue,dbo.Accounts.Description AS Expr1,dbo.Accounts.WebSite FROM dbo.Accounts INNER JOIN dbo.Account_Industry ON dbo.Accounts.Industry = dbo.Account_Industry.Industry_Id –

+0

這是我使用的語句。解決我的第二個問題? –

+0

你的意思是「當我從gridview中選擇行時,我想在下拉列表中顯示該項目而不是值。」? 那麼你可以在你的網格中使用隱藏值來存儲數據,然後在事件處理程序中顯示它。 –