This is a migrated thread and some comments may be shown as answers.

[Solved] Column aggregation horiozontally at runtime.

2 Answers 86 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Milan Gurung
Top achievements
Rank 1
Milan Gurung asked on 10 Jul 2009, 04:28 PM
Hi,

Could you please help to add column data rowise and display it in the last column in the grid..
e.g

Let's say the grid looks like this

Col1    Col2   Col3    TotalCol
1           1         1          3
     3         5          10
3           3         5     11


In the above grid, TotalCol is contains summation of Col1 + col2 + col3 horizontally. Can it be achieved at runtime. Please note that the the number of coumns are not always same - it changes based on parameters passed to database.


Any help would be deeply appreciated.

Thanks a lot.

Milan G

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 13 Jul 2009, 10:39 AM
Hi Milan G,

Try out the following code snippet in order to achieve the scenario.

ASPX:
 
<Columns> 
    <telerik:GridBoundColumn DataField="Number1" DataType="System.Int64" HeaderText="Number1" SortExpression="Number1" UniqueName="Number1"
    </telerik:GridBoundColumn> 
    <telerik:GridBoundColumn DataField="Number2" DataType="System.Int64" HeaderText="Number2" SortExpression="Number2" UniqueName="Number2"
    </telerik:GridBoundColumn>     
    <telerik:GridTemplateColumn UniqueName="TempCol"
        <ItemTemplate> 
            <asp:Label ID="Label1" runat="server" Text=""></asp:Label> 
        </ItemTemplate> 
    </telerik:GridTemplateColumn> 
</Columns> 

C#:
 
protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) 
    if (e.Item is GridDataItem) 
    { 
        GridDataItem item = (GridDataItem)e.Item; 
        int temp = 0; 
        foreach( GridColumn col in RadGrid1.MasterTableView.Columns) 
        { 
            { 
                if (item[col.UniqueName].Text != ""
                temp = temp + Convert.ToInt32(item[col.UniqueName].Text); 
            } 
        } 
        (item.FindControl("Label1"as Label).Text = temp.ToString(); 
    } 
Here I added GridTemplateColumn with Label control to show the sum value.

-Shinu.
0
Milan Gurung
Top achievements
Rank 1
answered on 13 Jul 2009, 03:32 PM
Hi Shinu,

Many thanks for the solution.

Regards,
Milan G
Tags
Grid
Asked by
Milan Gurung
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Milan Gurung
Top achievements
Rank 1
Share this question
or