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