Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
94 views
Hi,

I have a simple two table grid hierarchy. I want to do totals on the detail table in code behind. Samples found elsewhere on this site indicate that in ItemDataBound, we can do this, but this line never evaluates to True even though ShowFooter="True" is set for both the Master and Detail Tables. What Am I missing here?

  If TypeOf e.Item Is GridFooterItem Then
Yavor
Telerik team
 answered on 01 Apr 2010
3 answers
327 views
We are using the 2008.1.619.20 version of the Telerik ASP.NET AJAX Controls. We have been getting the following errors on our page that uses the telerik treeview control.

Exception Type:        System.Web.UI.ViewStateException
Exception Message:     Invalid viewstate.


Exception Message:     Unable to validate data.
Exception Source:      System.Web
Exception Target Site: GetDecodedData

Exception Type:        System.Web.HttpException
Exception Message:     The client disconnected.

After doing some research and also searching the telerik forum we set enableViewStateMac="false" and viewStateEncryptionMode="Never" in the web.config file. We also set the maxRequestLength="10000"  for the httpruntime but nothing has helped us with the errors so far. I will greatly appreciate if you help us resolve this issue at the earliest.

Thanks
Som



Rosen
Telerik team
 answered on 01 Apr 2010
1 answer
157 views
Please help any body .  i want show an ajax loading on the client click of a treview node .
please help guys...........
Shinu
Top achievements
Rank 2
 answered on 01 Apr 2010
2 answers
127 views
Hi All,

    i am new to telerik controls. My requirement is,

I have a radgrid with gridbuttoncolumn 'preview'.on click of the preview button i should append all the text in other columns (few bound columns and few drop down columns) and show the entire text in a popup similar to the one which appears in the popup edit mode.
below that i should embed the media player using embed tag and should play a file that is returned from the server.

i am wondering how to do this functionality.. kindly help me..

Regards,
Saravanan K
BaiH
Top achievements
Rank 1
 answered on 01 Apr 2010
1 answer
207 views

Hi all

I am getting an error on my page when I try to load a popup window and have been trying for several days resolve this issue.

I have three hierarchy grids on my page one contains a grid binary image column.

Here is my code

 

<%@ Page Title="" Language="VB" MasterPageFile="~/admin/adminmaster.master" AutoEventWireup="false" 
    CodeFile="pricingoptions.aspx.vb" Inherits="admin_secure_businesslistings_sales_businesspriceplan" %> 
 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> 
<%@ Register Assembly="skmControls2" Namespace="skmControls2" TagPrefix="cc1" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">  
    <link href="styles/buslistingsales1.css" rel="stylesheet" type="text/css" /> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">  
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">  
    </telerik:RadScriptManager> 
 
 
<%--    <script type="text/javascript">  
        function showForm() {  
            window.open("PreviewListing.aspx", "");  
        }  
    </script>--%> 
      
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">  
 
        <script type="text/javascript">  
            // <![CDATA[
            // on insert and update buttons, temporarily disable AJAX // to allow upload actions
//                                function mngRequestStarted(sender, eventArgs) {
//                                    var re = new RegExp("\.UpdateButton$|\.PerformInsertButton$", "ig");
//                                    if (eventArgs.EventTarget.match(re)) {
//                                        eventArgs.EnableAjax = false;
//                                    }
//                                }
            function conditionalPostback(sender, eventArgs) {
                var theRegexp = new RegExp("\.UpdateButton$|\.PerformInsertButton$", "ig");
                if (eventArgs.get_eventTarget().match(theRegexp)) {
                    var upload = $find(window['UploadId']);
                    //AJAX is disabled only if file is selected for upload
                    if (upload.getFileInputs()[0].value != "") {
                        eventArgs.set_enableAjax(false);
                    }
                }
            }
            function validateRadUpload(source, e) {
                e.IsValid = false;
                var upload = $find(source.parentNode.getElementsByTagName('div')[0].id);
                var inputs = upload.getFileInputs();
                for (var i = 0; i < inputs.length; i++) {
                    //check for empty string or invalid extension
                    if (inputs[i].value != "" && upload.isExtensionValid(inputs[i].value)) {
                        e.IsValid = true;
                        break;
                    }
                }
            }
            
    MyModule = function(element) {
        MyModule.initializeBase(this, [element]);
    }
    MyModule.prototype =
{
    initialize: function() {
        MyModule.callBaseMethod(this, 'initialize');
        var selfPointer = this;
        this.get_editor().add_selectionChange(function() { selfPointer.CountCharAction(); });
        this.get_editor().attachEventHandler("onkeyup", function() { selfPointer.CountCharAction(); });
        this.CountCharAction();
    },
    //A method that does the actual work - it is usually attached to the "selection changed" editor event
    CountCharAction: function() {
        var content = this.get_editor().get_html(true);
        var words = 0;
        var chars = 0;
        if (content) {
            punctRegX = /[!\.?;,:&_\-\-\{\}\[\]\(\)~#'"]/g;
            content = content.replace(punctRegX, "");
            trimRegX = /(^\s+)|(\s+$)/g;
            content = content.replace(trimRegX, "");
            if (content) {
                splitRegX = /\s+/;
                var array = content.split(splitRegX);
                words = array.length;
                chars = content.length;
            }
        }
        var element = this.get_element();
        element.innerHTML = "<span style='line-height:22px'>" + "Words: " + words + " Characters: " + chars + "&nbsp;</span>";
        element.style.border = "1px solid red";
        element.style.backgroundColor = "yellow";
        element.style.color = "red";
    }
};
    MyModule.registerClass('MyModule', Telerik.Web.UI.Editor.Modules.ModuleBase);
            // ]]> 
        </script> 
 
    </telerik:RadCodeBlock> 
    <asp:SqlDataSource ID="dsBusinessListingDescription" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" 
        SelectCommand="admin_Settings_GetBusinessListingDescription" SelectCommandType="StoredProcedure">  
        <SelectParameters> 
            <asp:Parameter Name="BusinessListingIndex" Type="Int16" /> 
        </SelectParameters> 
    </asp:SqlDataSource> 
    <div class="heading">  
        Business Listings: Plan and Pricing Options</div> 
    <div class="saContent">  
        <div class="saFiltering">  
            <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" ClientEvents-OnRequestStart="conditionalPostback" Width="845px">  
 
                <div class="controlsdiv">  
                    <table class="TableAddress" style="margin-bottom: 10px;">  
                        <tr> 
                            <td class="TextRight">  
                                Username:  
                            </td> 
                            <td class="TextLeft">  
                                <asp:Label ID="lblUserName" runat="server" ForeColor="Blue"></asp:Label> 
                            </td> 
                            <td class="TextRight">  
                                Customer ID:  
                            </td> 
                            <td class="TextLeft">  
                                <asp:Label ID="lblCustomerID" runat="server" ForeColor="Blue"></asp:Label> 
                            </td> 
                        </tr> 
                    </table> 
                </div> 
                <div class="controlsdiv">  
                    <table class="TableAddress" style="margin-bottom: 5px;">  
                        <tr> 
                            <td class="TextLeft">  
                                <b>1. Business Listings:</b><br /> 
                                Select the type of listing to add business to below.  
                            </td> 
                        </tr> 
                    </table> 
                    <telerik:RadTabStrip ID="RadTabStripListings" runat="server" MultiPageID="ListingsMultiPage" 
                        SelectedIndex="0">  
                        <Tabs> 
                            <telerik:RadTab runat="server" Text="Listings with Slides for each business" /> 
                            <telerik:RadTab runat="server" Text="Listings with No Slides for any business" /> 
                            <telerik:RadTab runat="server" Text="Listings with 1 set of common Slides for all businesses" 
                                Selected="True" /> 
                        </Tabs> 
                    </telerik:RadTabStrip> 
                    <telerik:RadMultiPage ID="ListingsMultiPage" runat="server" Width="100%" SelectedIndex="0">  
                        <telerik:RadPageView ID="ListingsPageViewWithImages" runat="server"><div class="tabDivTop">  
                          
                            <asp:SqlDataSource ID="dsBusinessListings" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" 
                                SelectCommand="admin_Customers_BusinessListing_SelectPrimaryInfo" SelectCommandType="StoredProcedure" 
                                InsertCommand="admin_Customers_BusinessListing_InsertPrimaryInfo" InsertCommandType="StoredProcedure" 
                                DeleteCommand="admin_Customers_BusinessListing_DeleteRowPrimaryInfo" DeleteCommandType="StoredProcedure">  
                                <SelectParameters> 
                                    <asp:Parameter Name="CustomerID" Type="String" /> 
                                    <asp:Parameter Name="OrderID" Type="String" /> 
                                    <asp:Parameter Name="WithSlideNoSlide" Type="String" /> 
                                </SelectParameters> 
                                <InsertParameters> 
                                    <asp:Parameter Name="CustomerID" Type="String" /> 
                                    <asp:Parameter Name="OrderID" Type="String" /> 
                                    <asp:Parameter Name="TabStripSelectedIndex" Type="Int16" /> 
                                    <asp:Parameter Name="BusinessListingDescription" Type="String" /> 
                                    <asp:Parameter Name="WithSlideNoSlide" Type="String" /> 
                                </InsertParameters> 
                                <DeleteParameters> 
                                    <asp:Parameter Name="CustomerID" Type="String" /> 
                                    <asp:Parameter Name="OrderID" Type="String" /> 
                                    <asp:Parameter Name="BusinessListingNumber" Type="Int16" /> 
                                    <asp:Parameter Name="WithSlideNoSlide" Type="String" /> 
                                    <asp:Parameter Name="TabStripSelectedIndex" Type="Int16" /> 
                                </DeleteParameters> 
                            </asp:SqlDataSource> 
                                      
                            <telerik:RadGrid ID="rgListingWithImages" runat="server" GridLines="None" Skin="Office2007" 
                                PageSize="8" ClientSettings-Scrolling-SaveScrollPosition="true" AllowPaging="True">  
                                <HeaderStyle HorizontalAlign="Left" /> 
                                <ItemStyle HorizontalAlign="Left" /> 
                                <AlternatingItemStyle HorizontalAlign="Left" /> 
                                <ClientSettings EnablePostBackOnRowClick="true">  
                                    <Selecting AllowRowSelect="true" /> 
                                </ClientSettings> 
                                <PagerStyle Mode="NumericPages" /> 
                                <MasterTableView PageSize="5" AutoGenerateColumns="False" DataKeyNames="ID" CommandItemDisplay="Top" 
                                    ShowHeadersWhenNoRecords="true" NoMasterRecordsText="Insert New Business Listing.">  
                                    <Columns> 
                                        <telerik:GridButtonColumn CommandName="DeleteRow" CommandArgument="DeleteRow" HeaderText="" 
                                            Text="Delete" UniqueName="DeleteRow">  
                                        </telerik:GridButtonColumn> 
                                        <telerik:GridBoundColumn DataField="ID" DefaultInsertValue="" HeaderText="ID" SortExpression="ID" 
                                            UniqueName="ID" DataType="System.Int32" ReadOnly="True" Visible="false">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridBoundColumn DataField="CustomerID" DefaultInsertValue="" HeaderText="CustomerID" 
                                            SortExpression="CustomerID" UniqueName="CustomerID" Visible="false">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridBoundColumn DataField="OrderID" DefaultInsertValue="" HeaderText="OrderID" 
                                            SortExpression="OrderID" UniqueName="OrderID">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridBoundColumn DataField="OrderDate" DataType="System.DateTime" DefaultInsertValue="" 
                                            HeaderText="OrderDate" SortExpression="OrderDate" UniqueName="OrderDate" Visible="false">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridBoundColumn DataField="BusinessListingNumber" DataType="System.Int32" 
                                            DefaultInsertValue="" HeaderText="Business Number" SortExpression="BusinessListingNumber" 
                                            UniqueName="BusinessListingNumber">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridBoundColumn DataField="NumberOfImages" DataType="System.Int32" DefaultInsertValue="" 
                                            HeaderText="Slides" SortExpression="Number Of Images" UniqueName="NumberOfImages">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridBoundColumn DataField="NumberOfCategories" DataType="System.Int32" DefaultInsertValue="" 
                                            HeaderText="Categories" SortExpression="Number Of Categories" UniqueName="NumberOfCategories">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridBoundColumn DataField="BusinessListingDescription" DefaultInsertValue="" 
                                            HeaderText="Description" SortExpression="BusinessListingDescription" UniqueName="BusinessListingDescription">  
                                        </telerik:GridBoundColumn> 
                                        <telerik:GridButtonColumn CommandName="SaveData" CommandArgument="SaveData" HeaderText="" 
                                            Text="Save" UniqueName="SaveData" ButtonType="PushButton">  
                                        </telerik:GridButtonColumn> 
<%--                                        <telerik:GridTemplateColumn UniqueName="btnPreview">  
                                        <ItemTemplate> 
                                            <asp:Button ID="btnPreview" runat="server" OnClientClick="showForm()" CommandName="Preview" Text ="Preview" /> 
                                        </ItemTemplate> 
                                        </telerik:GridTemplateColumn>--%> 
                                        <telerik:GridButtonColumn CommandName="Preview" CommandArgument="Preview" HeaderText="" 
                                            Text="Preview" UniqueName="Preview">  
                                        </telerik:GridButtonColumn> 
                                    </Columns> 
                                    <PagerStyle Mode="NextPrev" /> 
                                    <CommandItemTemplate> 
                                        <table style="float: left; width: 100%;">  
                                            <tr> 
                                                <td style="text-align: left">  
                                                    <asp:Button ID="btnInsertNewRecord" runat="server" CommandName="InsertNewRecord" 
                                                        Text="New Listing" Width="90px" Height="25px" /> 
                                                </td> 
                                                <td> 
                                                </td> 
                                            </tr> 
                                        </table> 
                                    </CommandItemTemplate> 
                                </MasterTableView></telerik:RadGrid> 
                                                              
                                                            </div></telerik:RadPageView> 
                        <telerik:RadPageView ID="ListingsPageViewwithoutImages" runat="server"><div class="tabDivTop"></div></telerik:RadPageView> 
                        <telerik:RadPageView ID="ListingsPageViewSlides" runat="server"><div class="tabDivTop"></div></telerik:RadPageView> 
                    </telerik:RadMultiPage> 
                </div> 
                <div style="float: left; width: 100%">  
                    <table class="TableAddress" style="margin-bottom: 10px; width: 100%">  
                        <tr> 
                            <td class="TextLeft">  
                                <b>2. Slides</b> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="TextLeft">  
                                Slides for Business Listings.  
                            </td> 
                        </tr> 
                    </table> 
                </div> 
                <div class="controlsdiv">  
                    <asp:SqlDataSource ID="dsSlides" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" 
                        SelectCommand="admin_Customers_BusinessListings_Slides_SelectSlideInfo_1" SelectCommandType="StoredProcedure" 
                        InsertCommand="admin_Customers_BusinessListings_Slides_InsertPrimaryInfo" InsertCommandType="StoredProcedure" 
                        DeleteCommand="admin_Customers_BusinessListings_Slides_DeleteSlideRow_1" DeleteCommandType="StoredProcedure" 
                        UpdateCommand="admin_Customers_BusinessListings_Slides_UpdateSlideInfo_1" UpdateCommandType="StoredProcedure">  
                        <SelectParameters> 
                            <asp:Parameter Name="CustomerID" /> 
                            <asp:Parameter Name="OrderID" /> 
                            <asp:Parameter Name="BusinessListingNumber" /> 
                        </SelectParameters> 
                        <InsertParameters> 
                            <asp:Parameter Name="CustomerID" Type="String" /> 
                            <asp:Parameter Name="OrderID" Type="String" /> 
                            <asp:Parameter Name="BusinessListingNumber" Type="Int16" /> 
                            <asp:Parameter Name="TabStripIndex" Type="Int16" /> 
                        </InsertParameters> 
                        <DeleteParameters> 
                            <asp:Parameter Name="CustomerID" Type="String" /> 
                            <asp:Parameter Name="OrderID" Type="String" /> 
                            <asp:Parameter Name="SlideID" Type="String" /> 
                            <asp:Parameter Name="BusinessListingNumber" Type="Int16" /> 
                        </DeleteParameters> 
                        <UpdateParameters> 
                            <asp:Parameter Name="SlideID" Type="String" /> 
                            <asp:Parameter Name="Title" Type="String" /> 
                            <asp:Parameter Name="Description" Type="String" /> 
                            <asp:Parameter Name="ImageData" DbType="Binary" /> 
                            <asp:Parameter Name="ContentType" Type="String" /> 
                            <asp:Parameter Name="FileName" Type="String" /> 
                        </UpdateParameters> 
                    </asp:SqlDataSource> 
                    <div style="text-align: left">  
                        <telerik:RadGrid ID="rgSlides" runat="server" GridLines="None" Skin="Hay" PageSize="8" 
                            ClientSettings-Scrolling-SaveScrollPosition="true" AllowPaging="True" AllowAutomaticUpdates="True" 
                           OnItemCreated="rgSlides_ItemCreated" OnItemDataBound="rgSlides_ItemDataBound" > 
                            <HeaderStyle HorizontalAlign="Left" /> 
                            <ItemStyle HorizontalAlign="Left" /> 
                            <AlternatingItemStyle HorizontalAlign="Left" /> 
                            <ClientSettings EnablePostBackOnRowClick="true">  
                                <Selecting AllowRowSelect="true" /> 
                            </ClientSettings> 
                            <PagerStyle Mode="NumericPages" /> 
                            <MasterTableView PageSize="1" AutoGenerateColumns="False" DataKeyNames="SlideID" 
                                CommandItemDisplay="Top" ShowHeadersWhenNoRecords="true" NoMasterRecordsText="Click New Slide to insert a new slide row." 
                                EditMode="EditForms">  
                                <Columns> 
                                    <telerik:GridButtonColumn CommandName="DeleteRow" CommandArgument="DeleteRow" HeaderText="" 
                                        Text="Delete" UniqueName="DeleteRow">  
                                    </telerik:GridButtonColumn> 
                                    <telerik:GridTemplateColumn UniqueName="ID" SortExpression="ID" ReadOnly="true" Visible="false">  
                                        <ItemTemplate> 
                                            <asp:Label ID="lblID" runat="server" Text='<% #Bind("ID") %>' /> 
                                        </ItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                    <telerik:GridTemplateColumn HeaderText="CustomerID" UniqueName="CustomerID" SortExpression="CustomerID" 
                                        Visible="false">  
                                        <ItemTemplate> 
                                            <asp:Label ID="lblCustomerID" runat="server" Text='<%#Bind("CustomerID") %>' /> 
                                        </ItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                    <telerik:GridTemplateColumn HeaderText="OrderID" UniqueName="OrderID" SortExpression="OrderID" 
                                        Visible="false">  
                                        <ItemTemplate> 
                                            <asp:Label ID="lblOrderID" runat="server" Text='<%# Bind("OrderID") %>' /> 
                                        </ItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                    <telerik:GridTemplateColumn HeaderText="Business Number" UniqueName="BusinessListingNumber" 
                                        SortExpression="BusinessListingNumber">  
                                        <ItemTemplate> 
                                            <asp:Label ID="lblBusinessListingNumber" runat="server" Text='<%# Bind("BusinessListingNumber") %>' /> 
                                        </ItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                    <telerik:GridBoundColumn DataField="SlideID" DataType="System.Char" HeaderText="SlideID" 
                                        ReadOnly="True" SortExpression="SlideID" UniqueName="SlideID">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridTemplateColumn HeaderText="FileName" UniqueName="FileName" SortExpression="FileName" 
                                        Visible="false">  
                                        <ItemTemplate> 
                                            <asp:Label ID="lblFileName" runat="server" Text='<%# Bind("FileName") %>' /> 
                                        </ItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                    <telerik:GridTemplateColumn HeaderText="Title" UniqueName="Title" SortExpression="Title">  
                                        <ItemTemplate> 
                                            <asp:Label ID="lblTitle" runat="server" Text='<%# Bind("Title") %>' /> 
                                        </ItemTemplate> 
                                        <EditItemTemplate> 
                                            <asp:TextBox ID="txtTitle" runat="server" Text='<%# Bind("Title") %>' /><br /> 
                                            <asp:RequiredFieldValidator ID="Requiredfieldvalidator1" runat="server" ControlToValidate="txtTitle" 
                                                ErrorMessage="Please, enter a Title!" Display="Dynamic" SetFocusOnError="true" /> 
                                        </EditItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                    <telerik:GridTemplateColumn HeaderText="Description" UniqueName="Description" SortExpression="Description">  
                                        <ItemTemplate> 
                                            <asp:Label ID="Label1" runat="server" Text='<%# TrimDescription(DirectCast(IIF(Eval("Description") IsNot DBNull.Value,Eval("Description"),string.Empty),String)) %>' /> 
                                        </ItemTemplate> 
                                        <EditItemTemplate> 
                                            <asp:TextBox ID="txtDescription" runat="server" Text='<%# Bind("Description") %>' 
                                                Width="350px" Height="50px" TextMode="MultiLine" /> 
                                        </EditItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                    <telerik:GridBinaryImageColumn DataField="ImageData" HeaderText="Slide" UniqueName="Upload" 
                                        ImageAlign="NotSet" ImageHeight="80px" ImageWidth="80px" ResizeMode="Fit" DataAlternateTextField="Description" 
                                        DataAlternateTextFormatString="Image of {0}">  
                                        <HeaderStyle Width="10%" /> 
                                    </telerik:GridBinaryImageColumn> 
<%--                                      
                                    <telerik:GridBoundColumn DataField="Title" HeaderText="Title" SortExpression="Title" 
                                        UniqueName="Title">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="Description" HeaderText="Description" SortExpression="Description" 
                                        UniqueName="Description">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBinaryImageColumn DataField="ImageData" HeaderText="ImageData" ResizeMode="Fit" 
                                        ImageWidth="100px" ImageHeight="100px" UniqueName="ImageData" />--%> 
                                      
                                    <telerik:GridEditCommandColumn> 
                                    </telerik:GridEditCommandColumn> 
                                </Columns> 
                                <EditFormSettings CaptionFormatString="Update Slide Info for SlideID: {0}" CaptionDataField="SlideID" 
                                    FormCaptionStyle-Font-Bold="true" PopUpSettings-Modal="true" PopUpSettings-Height="250" 
                                    PopUpSettings-Width="450px">  
                                    <EditColumn UniqueName="EditCommandColumn1" ButtonType="PushButton">  
                                    </EditColumn> 
                                    <FormCaptionStyle Font-Bold="True"></FormCaptionStyle> 
                                <PopUpSettings Modal="True" Height="250px" Width="450px"></PopUpSettings> 
                                </EditFormSettings> 
                                <PagerStyle Mode="NextPrev" /> 
                                <CommandItemTemplate> 
                                    <table style="float: left; width: 100%;">  
                                        <tr> 
                                            <td style="text-align: left">  
                                                <asp:Button ID="btnInsertNewRecord" runat="server" CommandName="InsertNewRecord" 
                                                    Text="New Slide" Width="90px" Height="22px" /> 
                                            </td> 
                                            <td style="text-align: right">  
                                                <asp:Button ID="btnRefresh" runat="server" CommandName="Refresh" Text="Refresh" Height="22px" /> 
                                            </td> 
                                        </tr> 
                                    </table> 
                                </CommandItemTemplate> 
                            </MasterTableView> 
                        </telerik:RadGrid> 
                    </div> 
                </div> 
                <div style="float: left; width: 100%;">  
                    <table class="TableAddress" style="margin-bottom: 5px;">  
                        <tr> 
                            <td class="TextLeft" colspan="3">  
                                <b>3. Categories:</b> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="TextLeft" colspan="4">  
                                Add categories to each business listing  
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="TextRight" style="width: 80px;">  
                                Categories:  
                            </td> 
                            <td class="TextLeft">  
                                <asp:DropDownList ID="ddlCategory" runat="server" Width="125px" ToolTip="Select Category" 
                                    AutoPostBack="True">  
                                </asp:DropDownList> 
                            </td> 
                            <td class="TextRight" style="width: 110px;">  
                                Sub-Category 1:  
                            </td> 
                            <td class="TextLeft">  
                                <asp:DropDownList ID="ddlSubCategory1" runat="server" Width="125px" ToolTip="Select Sub-Category 1" 
                                    AutoPostBack="True">  
                                </asp:DropDownList> 
                            </td> 
                            <td class="TextRight" style="width: 110px;">  
                                Sub-category 2:  
                            </td> 
                            <td class="TextLeft">  
                                <asp:DropDownList ID="ddlSubCategory2" runat="server" Width="125px" ToolTip="Select Sub-Category 2">  
                                </asp:DropDownList> 
                            </td> 
                        </tr> 
                    </table> 
                    <br /> 
                    <div style="float: left; margin-left: 10px; margin-bottom: 10px; margin-top: 10px;">  
                        <asp:Label ID="lblDuplicateCategory" runat="server" ForeColor="Red"></asp:Label> 
                    </div> 
                    <br /> 
                    <div class="controlsdiv">  
                        <telerik:RadGrid ID="rgCategory" runat="server" GridLines="None" Skin="Sunset" PageSize="8" 
                            ClientSettings-Scrolling-SaveScrollPosition="true" AllowPaging="True">  
                            <HeaderStyle HorizontalAlign="Left" /> 
                            <ItemStyle HorizontalAlign="Left" /> 
                            <AlternatingItemStyle HorizontalAlign="Left" /> 
                            <ClientSettings EnablePostBackOnRowClick="true">  
                                <Selecting AllowRowSelect="true" /> 
                            </ClientSettings> 
                            <PagerStyle Mode="NumericPages" /> 
                            <MasterTableView PageSize="5" AutoGenerateColumns="False" DataKeyNames="ID" CommandItemDisplay="Top" 
                                ShowHeadersWhenNoRecords="true" NoMasterRecordsText="Select Business Listing to Save Category.">  
                                <Columns> 
                                    <telerik:GridButtonColumn CommandName="DeleteRow" CommandArgument="DeleteRow" HeaderText="" 
                                        Text="Delete" UniqueName="DeleteRow">  
                                    </telerik:GridButtonColumn> 
                                    <telerik:GridBoundColumn DataField="ID" DefaultInsertValue="" HeaderText="ID" SortExpression="ID" 
                                        UniqueName="ID" DataType="System.Int16" ReadOnly="True" Visible="false">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="OrderID" DefaultInsertValue="" HeaderText="OrderID" 
                                        SortExpression="OrderID" UniqueName="OrderID">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="BusinessListingNumber" DataType="System.Int16" 
                                        DefaultInsertValue="" HeaderText="Business Number" SortExpression="BusinessListingNumber" 
                                        UniqueName="BusinessListingNumber">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="MainCategory" DefaultInsertValue="" HeaderText="Category" 
                                        SortExpression="MainCategory" UniqueName="MainCategory">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="SubCategory1" DefaultInsertValue="" HeaderText="Sub-Category 1" 
                                        SortExpression="SubCategory1" UniqueName="SubCategory1">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="SubCategory2" DefaultInsertValue="" HeaderText="Sub-Category 2" 
                                        SortExpression="SubCategory2" UniqueName="SubCategory2">  
                                    </telerik:GridBoundColumn> 
                                </Columns> 
                                <PagerStyle Mode="NextPrev" /> 
                                <CommandItemTemplate> 
                                    <table style="float: left; width: 100%;">  
                                        <tr> 
                                            <td style="text-align: left">  
                                                <asp:Button ID="btnSaveCategory" runat="server" CommandName="SaveCategory" Text="Save Category" 
                                                    Width="105px" Height="25px" /> 
                                            </td> 
                                            <td style="text-align: right">  
                                                <asp:Button ID="btnRefresh" runat="server" CommandName="Refresh" Text="Refresh" Height="25px" /> 
                                            </td> 
                                        </tr> 
                                    </table> 
                                </CommandItemTemplate> 
                            </MasterTableView> 
                        </telerik:RadGrid> 
                        <asp:SqlDataSource ID="dsCategory" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" 
                            SelectCommand="admin_Customers_BusinessListings_Categories_Select" SelectCommandType="StoredProcedure" 
                            InsertCommand="admin_Customers_BusinessListings_Categories_Insert" InsertCommandType="StoredProcedure" 
                            DeleteCommand="admin_Customers_BusinessListings_Categories_DeleteRow" DeleteCommandType="StoredProcedure">  
                            <SelectParameters> 
                                <asp:Parameter Name="OrderID" Type="String" /> 
                                <asp:Parameter Name="BusinessListingNumber" Type="Int32" /> 
                                <asp:Parameter Name="TabStripSelectedIndex" Type="Int32" /> 
                            </SelectParameters> 
                            <InsertParameters> 
                                <asp:Parameter Name="OrderID" Type="String" /> 
                                <asp:Parameter Name="BusinessListingNumber" Type="Int32" /> 
                                <asp:Parameter Name="TabStripSelectedIndex" Type="Int32" /> 
                                <asp:Parameter Name="MainCategory" Type="String" /> 
                                <asp:Parameter Name="SubCategory1" Type="String" /> 
                                <asp:Parameter Name="SubCategory2" Type="String" /> 
                            </InsertParameters> 
                            <DeleteParameters> 
                                <asp:Parameter Name="ID" Type="Int32" /> 
                                <asp:Parameter Name="OrderID" Type="String" /> 
                                <asp:Parameter Name="BusinessListingNumber" Type="Int32" /> 
                                <asp:Parameter Name="TabStripSelectedIndex" Type="Int32" /> 
                            </DeleteParameters> 
                        </asp:SqlDataSource> 
                    </div> 
                </div> 
                
            </telerik:RadAjaxPanel> 
        </div> 
    </div> 
</asp:Content> 
 
 

Code behind for displaying images

    Protected Sub rgListingWithImages_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgListingWithImages.ItemCommand  
        'Check which command name was selected  
        Select Case e.CommandName  
            Case "InsertNewRecord"  
                'Before inserting a new business listing check the strip index  
                If RadTabStripListings.SelectedIndex = 0 Then  
                    'Check if the OrderID exists  
                    If Not Me.OrderID = String.Empty Then  
                        'If OrderID exists then insert a new row into the BusinessListings table  
                        'Set all the boolean values in db to false in the stored procedure  
                        dsBusinessListings.InsertParameters("CustomerID").DefaultValue = Me.CustomerID  
                        dsBusinessListings.InsertParameters("OrderID").DefaultValue = Me.OrderID  
                        dsBusinessListings.InsertParameters("TabStripSelectedIndex").DefaultValue = RadTabStripListings.SelectedIndex  
                        'Get the Business Listing Description  
                        Dim BLD As New BusinessListingsPlanAndPricing  
                        dsBusinessListings.InsertParameters("BusinessListingDescription").DefaultValue = BLD.GetBusinessListingDescritpion(RadTabStripListings.SelectedIndex)  
                        dsBusinessListings.InsertParameters("WithSlideNoSlide").DefaultValue = "WS" 
                        'Call the Insert method  
                        dsBusinessListings.Insert()  
                        'Get data for the grid  
                        SelectGridWithImages()  
                        'Refresh the grid  
                        rgListingWithImages.Rebind()  
 
                        'Display and update pricing  
                        DisplayPricing()  
                    End If  
                End If  
 
                'Clear/Reset Contact Info, Display, About Business, Business Hours controls  
                ClearTextContactInformation()  
                ClearTextDisplayinformation()  
                ClearTextAboutBusinessInformation()  
                ClearTextBusinessHoursInformation()  
                Exit Select  
            Case "SaveData"  
                'Save/Update Business and Contact information etc.  
                SaveBusinessData()  
 
                'Call update method  
                dsBusinessInfo.Update()  
                Exit Select  
            Case "Preview"  
                'Get required parameters to preview selected business listing  
                Dim myItem As GridDataItem = DirectCast(e.Item, GridDataItem)  
                Dim CustID As String = myItem("CustomerID").Text  
                Dim OrdID As String = myItem("OrderID").Text  
                Dim ListNo As String = myItem("BusinessListingNumber").Text  
                Dim withSlidenoSlide As String = "WS" 
                Dim TabStripIndex As String = RadTabStripListings.SelectedIndex.ToString  
 
                'Inst. encryption string class  
                Dim QSE As New QueryStringEncryption  
 
                'Pass on new customers CustID, CategoryID and business number to the preview page  
                Dim BaseURL As String = "previewlisting.aspx?" 
                BaseURL &= "&custid=" & QSE.Encryt(Me.CustomerID)  
                BaseURL &= "&ordid=" & QSE.Encryt(OrderID)  
                BaseURL &= "&busnum=" & QSE.Encryt(ListNo)  
                BaseURL &= "&index=" & QSE.Encryt(WithSlideNoSlide)  
                BaseURL &= "&tabind=" & QSE.Encryt(RadTabStripListings.SelectedIndex.ToString)  
 
                'Add quote marks at front & end of query string for javascript code  
                Dim TargetURL As String = "'" & BaseURL & "'"  
 
                'Open the pop up window with required query string parameters  
                OpenJScriptPopUpWindow(BaseURL)  
                Exit Select  
        End Select  
    End Sub  
 

 

 

Here is the issue:

Grid one (rgListings) has a Preview link in one of the columns which I use to open a new window through some javascript which is in a file on my project. When I add a listing into this grid and I click on the Preview link in the row the window pops open no problem.

But when I add a listing in the rgListings grid and then add an image in the second (rgSlides) grid that is where it comes to a halt. When I click on the Preview link in the rgListings grid to open the pop up window I get an object not found error and I do not know where to look. I think that I have pin pointed it to this javascript on in the markup, but I am not sure.

I think this is where the error is comming from, but not sure:

 

            function conditionalPostback(sender, eventArgs) {  
                var theRegexp = new RegExp("\.UpdateButton$|\.PerformInsertButton$", "ig");  
                if (eventArgs.get_eventTarget().match(theRegexp)) {  
                    var upload = $find(window['UploadId']);  
 
                    //AJAX is disabled only if file is selected for upload  
                    if (upload.getFileInputs()[0].value != "") {  
                        eventArgs.set_enableAjax(false);  
                    }  
                }  
            }  
 
            function validateRadUpload(source, e) {  
                e.IsValid = false;  
 
                var upload = $find(source.parentNode.getElementsByTagName('div')[0].id);  
                var inputs = upload.getFileInputs();  
                for (var i = 0; i < inputs.length; i++) {  
                    //check for empty string or invalid extension  
                    if (inputs[i].value != "" && upload.isExtensionValid(inputs[i].value)) {  
                        e.IsValid = true;  
                        break;  
                    }  
                }  
            } 

 

I have tried putting some jscript on the page to open the window with the btnPreview.Add.Attributes(“onclick”,  “showForm();”) which does open the pop up window but I still get that object not found error and 2 windows open. I also added a button in the grid in the item template and called the jscript window open using the OnClientClick which opens the window but I still get the object not found.

 

  Object expected  pricingoptions.aspx?un=AhXmBz0EmheYEWJuqM3wmw%3d%3d&cid=TcOtbnnIOsxq1CXOjfwSOw%3d%3d&bn=7XKB52RyE53nj0aY1w19usl3BDx+Or5DpGp+x+Z7g+E%3d, line 3 character 4

 

Hopefully some extra eyes might see my problem.

 

Thanks

Chom

Iana Tsolova
Telerik team
 answered on 01 Apr 2010
1 answer
153 views
Hi, I would like to know if it is possible to resize a column depending the length on the content.

For example, I have a product that uses several dynamic fields with contents ranging from 1 character up to (think free-text).

Here's the code I use to generate all fields:

        DataTable createDataTableWithCustomFields() 
        { 
            NBKCustomer[] custs = c.GetCompetitors(AuthToken); 
            var theVeryLatestNote = custs.SelectMany(cu => cu.OwnerEntity.EntityNotes).OrderByDescending(n => n.Created).FirstOrDefault(); 
 
            var IamEskimoe = from cuss in custs 
                             select new 
                             { 
                                 cuss.CompetitorID, 
                                 cuss.companyName, 
                                 cuss.countryRegistrationNumber, 
                                 cuss.emailAdress, 
                                 cuss.homepageUrl, 
                                 cuss.headquarterOrBranch, 
                                 cuss.legalFormCode, 
                                 cuss.created, 
                                 cuss.updated, 
                                 cuss.branchesQuantity, 
                                 cuss.OwnerEntity, 
                                 Notes = cuss.OwnerEntity.EntityNotes.Count(), 
                                 HasTheLatestNote = (theVeryLatestNote != null ? (cuss.OwnerEntity.EntityID == theVeryLatestNote.OwnerEntity.EntityID) : false) 
                             }; 
 
            DataTable dt = new DataTable(); 
            dt.Columns.Clear(); 
            dt.Columns.Add("CompetitorID", typeof(int)); 
            dt.Columns.Add("companyName", typeof(string)); 
            dt.Columns.Add("countryRegistrationNumber", typeof(string)); 
            dt.Columns.Add("emailAdress", typeof(string)); 
            dt.Columns.Add("homepageUrl", typeof(string)); 
            dt.Columns.Add("headquarterOrBranch", typeof(string)); 
            dt.Columns.Add("legalFormCode", typeof(string)); 
            dt.Columns.Add("created", typeof(DateTime)); 
            dt.Columns.Add("updated", typeof(DateTime)); 
            dt.Columns.Add("branchesQuantity", typeof(int)); 
            dt.Columns.Add("Notes", typeof(int)); 
            dt.Columns.Add("HasTheLatestNote", typeof(bool)); 
 
            IEnumerable<CustomDataField[]> cols; 
            if (IamEskimoe.Any(i => i.OwnerEntity != null)) 
            { 
                cols = (from i in IamEskimoe 
                        where i.OwnerEntity.CustomDataFields.Count() > 0 
                        select i.OwnerEntity.CustomDataFields); 
 
                foreach (CustomDataField field in cols.SelectMany(f => f).Where(field => !dt.Columns.Contains(field.CustomDataFieldName))) 
                { 
                    dt.Columns.Add(field.CustomDataFieldName, typeof (string)); 
                    GridBoundColumn col = new GridBoundColumn {HeaderText = field.CustomDataFieldName, AllowFiltering = false, DataField = field.CustomDataFieldName}; 
                    grdCI2.MasterTableView.Columns.Add(col); 
                } 
            } 
            else 
                cols = null; 
 
            foreach (var n in IamEskimoe) 
            { 
                DataRow dr = dt.NewRow(); 
                dr["CompetitorID"] = n.CompetitorID; 
                dr["companyName"] = n.companyName; 
                dr["countryRegistrationNumber"] = n.countryRegistrationNumber; 
                dr["emailAdress"] = n.emailAdress; 
                dr["emailAdress"] = n.homepageUrl; 
                dr["headquarterOrBranch"] = n.headquarterOrBranch; 
                dr["legalFormCode"] = n.legalFormCode; 
                dr["created"] = n.created; 
                dr["updated"] = n.updated; 
                dr["branchesQuantity"] = n.branchesQuantity ?? (object)DBNull.Value; 
                dr["Notes"] = n.Notes; 
                dr["HasTheLatestNote"] = n.HasTheLatestNote; 
                if (cols != null) 
                { 
                    var n1 = n; 
                    foreach (CustomDataField field in cols.SelectMany(f => f).Where(r => r.FieldData != null && r.FieldData.OwnerEntity.EntityID == n1.OwnerEntity.EntityID)) 
                    { 
                        dr[field.CustomDataFieldName] = field.FieldData.Data ?? (object)DBNull.Value; 
                    } 
                } 
                dt.Rows.Add(dr); 
            } 
 
            return dt; 
        } 

Yavor
Telerik team
 answered on 01 Apr 2010
1 answer
103 views
Hey all,

I have been very busy lately working on a new project that uses MVP. We are plugging along and everything was going very nicely until we got to our event viewer page in our admin menu. We are using a custom implementation of the standard .NET 2.0 web event schema that we built using the MVP pattern. I want to use a RadGrid for the main display because it is a nice package for our requirements (toggle, click to expand, etc). This brings me to the problem. With MVP, the user interface is extremely thin. We built the classes and code using TDD best practices, and unfortunately, we didn't do our homework on the RadGrid very well. We mistakenly counted the NeedDataSource event as a standard EventHandler (like most other event delegates that perform data binding). What could we do to resolve this problem? Keep in mind that the obvious solution (adding the Telerik.Web.UI reference to my presenter, and model projects) is absolutely out of the question.

View Interface
public interface IEventViewerView 
{ 
        event EventHandler StartUp; 
        event EventHandler NeedDataSource; 
        object DataSource { set; } 
        object OnNeedDataSource { set; } 
} 

Presenter Class
public class EventViewerPresenter 
{ 
        private readonly IEventViewerView _view; 
        private readonly IEventViewerRepository _repo; 
 
        public EventViewerPresenter(IEventViewerView view) : this(view, new EventViewerRepository()) 
        { 
 
        } 
 
        public EventViewerPresenter(IEventViewerView view, IEventViewerRepository repo) 
        { 
            if (view == null) 
                throw new ArgumentNullException("view may not be null"); 
            if (repo == null) 
                throw new ArgumentNullException("repo may not be null"); 
            _view = view; 
            _repo = repo; 
            _view.NeedDataSource += new EventHandler(_view_NeedDataSource); 
            _view.StartUp += new EventHandler(_view_StartUp); 
        } 
 
        void _view_NeedDataSource(object sender, EventArgs e) 
        { 
            _view.OnNeedDataSource = _repo.List(); 
        } 
 
        void _view_StartUp(object sender, EventArgs e) 
        { 
            _view.DataSource = _repo.List(); 
        } 
} 

Here is where things go sideways. I get the following error in the code below. Cannot implicitly convert type 'System.EventHandler' to 'Telerik.Web.UI.GridNeedDataSourceEventHandler'.
protected void Page_Load(object sender, EventArgs e) 
{ 
        _presenter = new EventViewerPresenter(this); 
        grdEvents.NeedDataSource += NeedDataSource; // Errors here... 
        if (StartUp != null) StartUp(this, EventArgs.Empty); 
} 
 
public event EventHandler StartUp; 
public event EventHandler NeedDataSource; 
 
public object DataSource 
{ 
        set  
        { 
            if (!IsPostBack) 
            { 
                grdEvents.DataSource = value; 
                grdEvents.DataBind(); 
            } 
        } 
} 
 
public object OnNeedDataSource 
{ 
        set { grdEvents.DataSource = value; } 
} 

I am having trouble figuring out how to solve this without breaking the rules for MVP.

I love these engineering challenges, but this one has me pretty well stumped.

Any Thoughts?

Thanks,

John
John Valentine
Top achievements
Rank 2
 answered on 01 Apr 2010
2 answers
63 views
Hi currently i followed Yahoo-style scrolling on demo site but prompt with js error
Error: Object doesn't support this property or method

see attachment...

Previously i try implement first virtual scrolling and it running great but for Yahoo style scrolling i get this error.

May i know what is missing?

shoden
Top achievements
Rank 1
 answered on 01 Apr 2010
2 answers
121 views
Hi,

The stylebuilder has some great promise.  I headed in to customise my most used control, the chart, and it isn't present yet.  Is it in the plans?

Thanks!
Mark
Top achievements
Rank 1
 answered on 01 Apr 2010
5 answers
354 views
Hi,

I am getting a popup with "Error 500: Potentially Dangerous Request" when trying to use RadSpell on multiple controls in ASP.NET 4. The error occurs the moment I click "Check Spell".

Reproduction: Create a fresh ASP.NET 4 project (VB) and add the HTTPRequestHandler for RadScriptManager and RadSpell to the web.config through Telerik's SmartTags. Then add the RadScriptManager and RadSpell to your Default.aspx, create two basic text inputs and try hook up both (i.e. ControlsToCheck="TextBox1,TextBox2")

Web.config (excerpt)
        <httpHandlers> 
            <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/> 
            <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/> 
            <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/> 
        </httpHandlers> 
        <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web> 
    <system.webServer> 
        <modules runAllManagedModulesForAllRequests="true"> 
        </modules> 
        <validation validateIntegratedModeConfiguration="false"/> 
        <handlers> 
            <add name="Telerik_Web_UI_DialogHandler_aspx" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler"/> 
            <add name="Telerik_Web_UI_SpellCheckHandler_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler"/> 
            <add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource"/> 
        </handlers> 
    </system.webServer> 


Default.aspx
<%@ Page Title="Home Page" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false" 
    CodeBehind="Default.aspx.vb" Inherits="RadSpellTest._Default" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <h2> 
        Welcome to ASP.NET! 
    </h2> 
     
     <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> 
 
     <input type="text" id="TextBox1" /> 
 
     <input type="text" ID="TextBox2" /> 
 
     <telerik:RadSpell ID="RadSpell1" Runat="server" ControlsToCheck="TextBox1,TextBox2" IsClientID="True" SupportedLanguages="en-US,English" /> 
 
</asp:Content> 
 

Attached you can find a screenshot of the error message.

Note: It does work when TargetFramework of the project is set to 3.5 instead of 4.0 or if RadSpell is given only one ControlToCheck.

Thanks for any help,
Matt
sdfsdf sdfdsf
Top achievements
Rank 1
 answered on 31 Mar 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?