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

ClientSide values needed ...

2 Answers 71 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Stephan Reisinger
Top achievements
Rank 1
Stephan Reisinger asked on 03 Jan 2013, 03:36 PM
Good afternoon,

I have a grid with the following layout:

<telerik:RadGrid ID="o_Results" runat="server" Width="938px" AllowMultiRowSelection="True" EnableViewState="True">
    <ClientSettings>
        <ClientEvents OnRowDeselected="SelectionChanged" OnRowSelected="SelectionChanged" />
        <Scrolling AllowScroll="True" UseStaticHeaders="True" ScrollHeight="144px" />
        <Selecting AllowRowSelect="True" />
    </ClientSettings>
    <MasterTableView DataKeyNames="cod_GUID,mov_GUID" AutoGenerateColumns="false">
        <Columns>
            <telerik:GridBoundColumn DataField="cod_GUID" Visible="False" HeaderText="CashOnDeliveryID" UniqueName="CashOnDeliveryID"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="mov_GUID" Visible="False" HeaderText="MovementID" UniqueName="MovementID"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="str_CodCompany" Visible="True" HeaderText="Azienda">
                <HeaderStyle Width="80px" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="car_Code" Visible="True" HeaderText="Corriere">
                <HeaderStyle Width="80px" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="mov_RunningNumber" Visible="True" HeaderText="TV2">
                <HeaderStyle Width="50px" />
                <ItemStyle HorizontalAlign="Right" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="str_MoveNumber" Visible="True" HeaderText="DDT">
                <HeaderStyle Width="50px" />
                <ItemStyle HorizontalAlign="Right" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="dte_InsertDate" Visible="True" HeaderText="Data DDT" DataFormatString="{0:dd/MM/yyy HH:mm}" DataType="System.DateTime">
                <HeaderStyle Width="100px" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="cod_Amount" Visible="True" HeaderText="Valore" DataFormatString="{0:C2}" DataType="System.Double" UniqueName="CashOnDeliveryAmount">
                <HeaderStyle Width="60px" />
                <ItemStyle HorizontalAlign="Right" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="mov_SimpleAddress" Visible="True" HeaderText="Indirizzo"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="ch8_CallCode" Visible="True" HeaderText="DDT">
                <HeaderStyle Width="60px" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="cos_Code" Visible="True" HeaderText="CoD">
                <HeaderStyle Width="60px" />
            </telerik:GridBoundColumn>
        </Columns>
        <EditFormSettings>
            <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
        </EditFormSettings>
    </MasterTableView>
    <FilterMenu EnableImageSprites="False"></FilterMenu>
</telerik:RadGrid>

and then the following JavaScript

<script type="text/javascript" id="telerikClientEvents1">
    //<![CDATA[
 
    function SelectionChanged(sender, args) {
        var grid = $telerik.findGrid("<%= o_Results.ClientID %>");
        grid = $telerik.toGrid(grid);
        var masterTable = grid.get_masterTableView();
        var selectedRows = masterTable.get_selectedItems();
        for (var i = 0; i < selectedRows.length; i++) {
            var row = selectedRows[i];
            // var rowIndex = row.get_itemIndexHierarchical();
            // console.log("get_itemIndexHierarchical() = " + index);
            var amount = row.get_dataItem("CashOnDeliveryAmount");
            console.log(amount);
        }
    }
    //]]>
</script>

Everything works fine !
However, when I try to obtain the value of "CashOnDeliveryAmount" ( UniqueName ) or "cod_Amount" ( DataField ) I always get "null".

What I am trying to do is to create a total based on the selectedRows that is displayed somewhere else on the page.
I seem not to be able to find anything similar in the examples or in the forums ( which obviously does not mean that there isn't ).

Any help would be appreciated.

SR

2 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 04 Jan 2013, 04:19 AM
Hello,

var grid = $find("<%= o_Results.ClientID %>"); 
                if (grid) { 
                    var MasterTable = grid.get_masterTableView(); 
                    var Rows = MasterTable.get_dataItems(); 
                    for (var i = 0; i < Rows.length; i++) { 
                        var row = Rows[i]; 
                        var getCellText = row.get_cell("CashOnDeliveryAmount").innerHTML;
                      // Access text here   
                    
                }


For more info please check (Access Column Text title) below link.

http://jayeshgoyani.blogspot.in/2012/07/access-radgrid-on-client.html


Thanks,
Jayesh Goyani
0
Shinu
Top achievements
Rank 2
answered on 04 Jan 2013, 04:28 AM
Hi,

Try the following javascript to achieve your scenario.
JS:
function SelectionChanged(sender, args)
{
        var masterTable = sender.get_masterTableView();
        for (var i = 0; i < masterTable.get_selectedItems().length; i++) {
            var cell = masterTable.getCellByColumnUniqueName(masterTable.get_selectedItems()[i], "CashonDeliveryAmount");
            alert(cell.innerHTML);
        }
}

Thanks,
Shinu.
Tags
Grid
Asked by
Stephan Reisinger
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Shinu
Top achievements
Rank 2
Share this question
or