計算細胞Telerik RadGridのGridGroupFooterItem
質問
私populating、Telerik RadGridデータからDataTable(System.Data.DataTable
).として協賛してい誰かの用途、利用できないその他のデータソースまたは表示。
私のグリッドろの列:ということからウィジェット生産(カラムA)不ウィジェット(カラムB)Faultiness割合カラムC)データベースのクエリーメディアトレーニングをおこさせていただくことは、計算C=B/A
私には合計の列(a Telerik GridFooterItem
下部のグリッドIn A列とB列Telerikを算定し、合計人の列だった。できないので計算の正しい値に'合計'のカラムCからのカラムCのみ:しての移植ではの和のスタンダードの和(A)
私ださいこのお取り扱いに DataBound
イベントのRadGrid、手動でpopulatingの細胞にfooter.(あったかくの GridFooterItem
の ItemCreated
イベントは、価値の DataBound
イベントの後で自動的に計算して合計AとBと思ったからです。 これって感じのかhacky-ん、ありがとうございまのよりよい意味するものなのでしょう?
いずれにせよ、重要なビットはこの:
私のグリッドに分かしていくような仕事をしても必要なの移植にカラムCの GridGroupFooterItem
s.ありがとうございますhacky技術の場合:私のフッターセルしたいと myGridFooterItem["WidgetsProduced"]
, がんのグループのフッター細胞 myGridGroupFooterItem["WidgetsProduced"]
-それだけでな辞書で調べました。
たって使用 myGridGroupFooterItem.Cells[]
, が、この TableCellCollection
を含むカップルより細いので、アクセスによる整数インデックスを感じるtad ropey(特にこのユーザー定義の報告書では、カラム第ています。
い:方法の移植これらの細胞は自分の計算?
解決
あなたの項目のデータバインドされたイベントは、
のようになりますgrd_ItemDataBound(object sender,GridItemEventArgs e)
{
//catch the footer element
if(e.Item.ItemType==GridItemType.GroupFooter)
{
(e.Item.FindControl("yourTextBox") as TextBox).Text = your calculated value
}
}
他のヒント
私は、一意の名前インデクサはASP.NET AJAX用RadGridの2009年第2四半期および2009年第3四半期のバージョンで動作するかどうかをダブルチェックし、それは私のマシン上で働いていました。お使いのバージョンを確認し、必要に応じてhref="http://www.telerik.com/community/forums.aspx" rel="nofollow noreferrer"> Telerikフォーラムの
ディック
してみてください
ではAspxページ:
<telerik:GridBoundColumn Aggregate="Sum" DataField="Price" DataFormatString="{0:C}" EmptyDataText="0" FooterText="Total :" HeaderText="Price" UniqueName="Price"> ...
(または)
コードの後ろのページ:
Private Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound
Dim Item As GridDataItem
Dim value as Double
Select Case (e.Item.ItemType)
Case Telerik.Web.UI.GridItemType.AlternatingItem, Telerik.Web.UI.GridItemType.EditItem,Telerik.Web.UI.GridItemType.Item,Telerik.Web.UI.GridItemType.SelectedItem
Item = e.Item
'------ Calculate Total amount -----------
Item("TotalPayment").Text = CDbl(Item("TotalPayment").Text)
value += CDec(Item("TotalPayment").Text)
Case Telerik.Web.UI.GridItemType.Footer
'------ Display the total amount in Footer ------
Dim footerItem As GridFooterItem = e.Item
If Not RadGrid1.Items.Count = 0 Then footerItem("TotalPayment").Text = "Total :" + value
End Select
End Sub
さて、その上の平均値と、あなたはおそらく独自のロジックに依存する必要があります。グループフッターからの細胞は、一意の名前で割り出し可能でなければなりません - 私は、これは、前のTelerik ASP.NETグリッドのバージョンではサポートされませんでしたが、これは最近のバージョンで追加されました覚えている - 。Q2またはQ3 2009
ディック