C#中过滤DataView的最后一行

时间:2012-05-18 19:27:06

标签: c# dataview

我有一个DataView,它被过滤后只包含我需要的那些记录。最重要的是,我想获得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的Row。 我做错了什么?

3 个答案:

答案 0 :(得分:0)

我认为你不需要.Table。打电话,而应该使用

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

答案 1 :(得分:0)

设置排序表达式和行过滤器后,必须调用DataView.ToTable()

答案 2 :(得分:-1)

从第一行获取列值:

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

您必须先使用.ToTable()将DataView中检索到的值转换为DataTable。