c#
  • dataview
  • 2012-05-18 75 views 0 likes 
    0

    我有一個DataView被過濾,只包含我需要的記錄。最重要的是,我想獲得Dataview中的第一條記錄。在C中過濾DataView的最後一行#

    //appDV contains a bunch of records with different LOAN_STATUS. Here I'm filtering it by Approved 
    
         appDV.RowFilter = "LOAN_STATUS = 'Approved'"; 
         appDV.Sort = "CREATE_TIME DESC"; 
         // If more than one record, take the 1st record 
         appuser = new AppUserVO(); 
         appuser.APPUSER_ID = Convert.ToInt32(appDV.Table.Rows[0]["APPUSER_ID"].ToString()); 
         appuser.BankLenderId = appDV.Table.Rows[0]["BANK_LENDERID"].ToString().Trim(); 
         AppList.Add(appuser); 
    
    
         return AppList; 
    

    上面的代碼沒有返回正確的Row ...,因爲它在應用過濾器之前向我返回DataView行。 我在做什麼錯?

    +2

    您無法從數據表中獲取該行。你必須從數據視圖中獲取它(dataview [row idx])。 –

    +0

    謝謝!我無法相信我錯過了這一點 – Gotcha

    回答

    0

    我不認爲你需要。表。打電話,而是應該使用

    appDV.Rows[0]["APPUSER_ID"].ToString(); 
    
    0

    在設置排序表達式和行過濾器,你必須調用DataView.ToTable()

    -1

    從第一行獲取列值:

    string columnVal= appDV.ToTable().Rows[0]["COLUMN_NAME"].ToString(); 
    

    您必須首先使用.ToTable()將您在DataView中檢索到的值轉換爲DataTable。

    相關問題