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 };

現在のレコードの UserID を取得したい。

var userRecord = pics_Data_HistoryBSForCounts.Current;

現在のレコードを文字列として取得します。プロパティ値を取得する方法はありますか?

ありがとう!

4

1 に答える 1

0

BindingSource.Currentですobject。タイプ T of you IQueryable<T>(dataCtx.Pics_Data_Histories) にキャストできます。ただし、これは匿名型であるため、名前付き型を使用する方が簡単です (それ以外の場合は、Reflection を使用してプロパティ値を抽出することしかできません)。

したがって、クラスがあるとしますUserData( UserNameCountおよびUserID)。クエリのselect一部は次のとおりです。

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

そしてキャスト:

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