0

2つのデータテーブルで値を取得しました

Dt1

EMPID empname  sickleave  casual leave  earned leave
1      john                            1

Dt2

EmpId  empname  sickleave  casualleave  earned leave
 1      john      5          5           5

dt2 では休暇のデフォルト値が与えられ (従業員の合計休暇)、dt1 では従業員が取得した休暇が与えられます。だから私はこのような形でグリッドに結果を表示したい

Empname sickleave casualleave earnedleave
john       0/5       0/5          1/5

for this i wrote code like this

 var result = from p in dt1.AsEnumerable()
                                 join q in dt2.AsEnumerable() on p.Field<int>("EmpID") equals q.Field<int>("EmpID") into UP
                                 from q in UP.DefaultIfEmpty()

                                 select new
                                 {
                                     EmpID = p.Field<int>("EmpID"),
                                     EmpName = p.Field<string>("EmpName"),

                                     SickLeave = (p.Field<int?>("Sick Leave") ?? 0).ToString() + "/" + (q.Field<int?>("Sick Leave") ?? 0).ToString(),
                                     CasualLeave = (p.Field<int?>("Casual Leave") ?? 0).ToString() + "/" + (q.Field<int?>("Casual Leave") ?? 0).ToString(), 
                                     EarnedLeave = (p.Field<int?>("Earned Leave") ?? 0).ToString() + "/" + (q.Field<int?>("Earned Leave") ?? 0).ToString()
                                 };

                    GridViewLeaveSummary.DataSource = result;
                    GridViewLeaveSummary.DataBind();

このコードは正常に動作していますが、別の休暇タイプを追加する必要があるため、動的休暇を作成したいのは、休暇タイプ テーブルに従ってグリッドに休暇を表示しないことを意味します (すべての葉フィールドがデータ可能なものであることを意味します)。私はさらに葉を追加する必要があります。データベースによると、グリッドに葉の数が表示されません

ありがとう

4

0 に答える 0