2

typedDataset (ds) とそのデータテーブル (dt) があります。データテーブルには列Date(ttmmyyy) とがありWorktimeます。Worktime を月ごとに合計したい。私はすでにWorktimeを合計することを達成しました

Dim sum = dt.AsEnumerable().Sum((Function(x) x.Worktime))

これを月ごとにグループ化するのに助けが必要です。

4

1 に答える 1

9

フィールドを含むテーブルを作成しましたが、次のクエリはうまく機能しました。

 Dim query = From row In dt
          Group row By VarDate= row.Field(Of DateTime)("Date") Into MonthGroup = Group
          Select New With {
              Key VarDate,
              .Worktime = MonthGroup.Sum(Function(r) r.Field(Of Int32)("Worktime"))
         }

VarDateDate は独自のクラス用に予約されているため、変数を使用しました。

出力:

確認日: 2013 年 10 月 15 日作業時間: 150

確認日: 2013 年 10 月 16 日 勤務時間: 180

編集:

出力を取得するには、次を使用します。

 For Each obj In query
     Dim datet = obj.VarDate
     Dim WorkH = obj.Worktime
 Next

linq をoption infer on使用するときに型を宣言しないようにするには、vb.net ドキュメントの最初の行に次の行を挿入します (そのため、型を宣言せずに dim datet = obj.Vardate を使用できます)。それはC#のvarのようなものです

于 2013-10-16T12:16:28.740 に答える