0

下面是我的绑定源。

pics_Data_HistoryBSForCounts.DataSource = from dh in dataCtx.Pics_Data_Histories
                                                        join ui in dataCtx.User_Infos on dh.User_Id equals ui.user_id into ui_dh
                                                        from ui_dh1 in ui_dh.DefaultIfEmpty()
                                                        where dh.Changed_Date >= fromDate && dh.Changed_Date <= toDate
                                                        group ui_dh1 by ui_dh1.user_name into grouped
                                                      select new { UserName = grouped.Key.Trim(), Count = grouped.Count(a => a.user_name != null), UserID = grouped.FirstOrDefault().user_id };

我想获取当前记录的用户 ID。

var userRecord = pics_Data_HistoryBSForCounts.Current;

我将当前记录作为字符串获取。有什么方法可以获取属性值吗?

谢谢!

4

1 回答 1

0

BindingSource.Current是一个object。您可以将其转换为您的类型 T IQueryable<T>(dataCtx.Pics_Data_Histories)。但那是一种匿名类型,因此使用命名类型更容易(否则只能使用反射来提取属性值)。

所以,假设你有一个类UserData(带有UserName,CountUserID)。您的select查询部分是:

select new UserData { UserName = grouped.Key.Trim(), ...

还有演员:

var userRecord = (UserData)pics_Data_HistoryBSForCounts.Current;
于 2012-12-03T22:54:06.700 回答