2011-07-16 2 views
2

を持つの列のセルの値をカウントする。この中私は3行を示して..私は、私は以下のようにレコードを表示するリピータコントロールを持っている同じタイプ

Name Type noOfItems Amount 

Abc A  2  100 
cbc B  1  200 
xyz A  1  100 
ret c  3   50 
wes B  1  200 

が必要です。..私が欲しいのは第数えることですその総noofItems

のような何か...

Total no of items: (3) A, (2) B, (1) C 
Total Amount:  (2) 100, (2) 200, (1) 50 

親切

...私をout..please手助けしようとするとタイプの

ありがとうございました。

+0

の背後にあるコードでは、コード、XMLまたはデータサンプルを投稿する場合は、** **テキストエディタでそれらの行をハイライト表示し、「コードサンプル」ボタンをクリックしてください( ' {} ')をエディタのツールバーに表示して、書式を整えて構文をハイライト表示します。 –

答えて

0

リピーターのItemDataBoundイベントをバインドし、その中の値で辞書を保持します。フッターが接続されている場合は、必要に応じて値を設定します。背後にあるコードでは

<asp:Repeater ... OnItemDataBound="rptRepeaterName_ItemDataBound" ...> 

:ページで

ここ

protected void rptRepeaterName_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ItemType.Item || e.Item.ItemType == ItemType.AlternatingItem) 
    { 
     // logic to count occurences of A, B, C and amounts in each their own dictionary ex: typeDictionary[type] += 1; amountDictionary[amount] += 1; 
    } 
    else if (e.Item.ItemType = ItemType.Footer) 
    { 
     // display values stored in both dictionaries 
    } 
} 
+0

しかし、私のテーブルでは、タイプは修正されていません。その中には多くのタイプがあります。それで、私はそれを行うことができます...私はすべてを集計する必要がありますIndividual Types A(100 + 100) B(200 + 200)など.... それをしようとします..? – Hitesh

+0

ディクショナリーの仕組みは、myDictionary [type1]の値、myDictionary [type2]の値を格納しているため、私の例の 'type'が変数であれば、各タイプのカウントが計算され、私が書いたコードの2番目の部分。辞書のキーと値のペアをループして、それぞれのタイプと量のカウントを抽出することができます。 – mbillard

0

は、1つの以上のアイデアで、あなたはまた、合計を保つ機能を使用して金額を呼び出して、あなたがそれらを使用しますあなたのリピーターの終わりに。

<asp:Repeater ID="myId" runat="server"> 
    <ItemTemplate> 
     <%#GetTheAmount(Container.DataItem)%> 
    </ItemTemplate> 
</asp:Repeater> 

Total Amount: <%=cTotalAmount%> 
Total Lines: <%=cTotalLines%> 

public int cTotalAmount = 0; 
public int cTotalLines = 0; 

public string GetTheAmount(object oItem) 
{ 
    int cCurrentAmount = (int)DataBinder.Eval(oItem, "Amount"); 
    cTotalLines++; 
    cTotalAmount += cCurrentAmount; 

    return cCurrentAmount.ToString(); 
} 
+0

ありがとうAristos、 私は良いと思います。 A(トータル金額)、B(トータル金額)... – Hitesh

+0

@Hiteshのコードでは、A、Bのデータも取得して、さまざまな合計を作成します。例えば、switch(DataBinder.Eval(oItem、 "Type")){case 'A':TotalA ++; break; case 'B':TotalB ++;ブレーク; etc ...} – Aristos

+0

これは修正型の場合に当てはまります。 しかし、複数の型がある場合はどのようなテーブルデータがありますか....? – Hitesh

関連する問題