2013-02-12 59 views
1

我在GridView中單擊一個按鈕時填充所有事務數據。但是,數據庫中的事務表不包含維度表(例如帳戶表)數據,例如事務處理表包含帳戶ID,但它不具有我必須從帳戶表中提取的帳戶名稱屬性。在DataAccess層中,方法(GetAllTransactions())確實包含AccountID上Transaction和Account表之間的連接,但是當我嘗試選擇account.AccountName時,它不起作用。如何在ASP.Net中的一個GridView中連接多個表格數據button_click

我只需要顯示Transaction表中的幾個表,其中AccountID從事務表中顯示AccountName列而不是AccountID列。

的數據訪問方法是這樣的:

public static IEnumerable<Transaction>GetAllTransactions() 
    { 
     List<Transaction> allTransactions = new List<Transaction>(); 
     using (var context = new CostReportEntities()) 
     { 
      allTransactions = (from t in context.Transactions 
           join account in context.Accounts on t.AccountID equals account.AccountID 
           select t).ToList(); 
     }   
     return allTransactions; 
    } 

,並在.aspx頁面背後的代碼如下:

protected void _UIButtonSubmit_Click(object sender, EventArgs e) 
    { 
     IEnumerable<Transaction> transactions = ts.GetAllTransactions(); 
     _UITransactionGridView.DataSource = transactions; 
     _UITransactionGridView.DataBind(); 
     _UITransactionGridView.PageIndex = 0; 

    } 

試過幾件事情有以下還可以,但我沒有得到的LINQ的想法。以下給出錯誤。

...select new {t.*, account.AccountName}).ToList(); 

我需要一個方向,我該如何看待使任務工作來填充一個GridView中多個表中的數據。謝謝。

回答

0

由於我的交易模型沒有帳戶表的任何屬性,我必須創建一個ViewModel類型類,它返回每個交易的AccountNumber的自定義數據。

我用來解決問題的Tha代碼是this

相關問題