Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
416 views
Hello Telerik Team,

Im trying to make an email management using telerik with 3 Tier architecture in asp.Net.



I have created a master page. Then a web page using this master page. I have to show a grid which could display "From", "To", "Message", createdOn etc on the grid. I have attached edit and delete button through item template image button. I am using a panel below the RadGrid so that when i click on edit template button this panel will open. this panel contains label names and their corresponding text boxes.
Now when i click on edit template image button....the values from the corresponding row should be filled in the textboxes of the down panel.
But when i click on the edit template image button, the objects in between and that corresponding textbox 's object too have found (got assigned) the value (as i can check it through break functionality of visual studio) but the value is not displaying on that textbox.

And another problem is that nothing happens when i click on another paging option or pagesize. plz fix it too.

please help me in this way as soon as possible.

Im sending you the code of main.master, NTier.aspx & NTier.aspx.cs





<<---------------------------------Main.Master--------------------------------------->>



<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="Email_Management.Main" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>



<!DOCTYPE html>



<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Email-Management</title>

    <link href="css/Header.css" rel="stylesheet" type="text/css" />

    <asp:ContentPlaceHolder ID="head" runat="server">

    </asp:ContentPlaceHolder>

</head>

<body>

    <form id="form1" runat="server">

        <asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="360000"></asp:ScriptManager>



        <table class="table1">

            <tr>

                <td class="column1">

                    &nbsp;<img src="images/Xtlytics_Logo.png" class="logo-image"/>

                </td>

               

<td class="column2">&nbsp;<asp:Label ID="lblWel"

runat="server" Text="Welcome,"

CssClass="welcome-user"></asp:Label>

                   

<asp:Label ID="lblUsername" runat="server" Text=" "

CssClass="welcome-user bold-txt"></asp:Label>

                    <span class="Seprator">|</span>

                   

<asp:ImageButton ID="ImageButton1" runat="server" ToolTip="Logout"

OnClick="btnLogout" CssClass="logout-image"

ImageUrl="~/images/logout.png"/>

                </td>

            </tr>

        </table>



        <table width="100%">

            <tr>

                <td>

                    <telerik:RadMenu ID="Menu" runat="server" EnableSelection="true" Skin="Telerik">

                        <ExpandAnimation Type="OutQuart" Duration="300" />

                        <CollapseAnimation Type="OutQuart" Duration="300" />

                        <Items>

                            <telerik:RadMenuItem Text="Insurance">

                                <Items>



                                </Items>



                            </telerik:RadMenuItem>

                            <telerik:RadMenuItem Text="HealthCare" ExpandMode="ClientSide">

                                <Items>

                                    <telerik:RadMenuItem Text="Big Data Explorer"></telerik:RadMenuItem>

                                </Items>



                            </telerik:RadMenuItem>



                            <telerik:RadMenuItem Text="Social Media" ExpandMode="ClientSide">

                                <Items>

                                    <telerik:RadMenuItem Text="Company"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Competitor"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Product"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Efluencer"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Swot"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Name Perceptual"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Brand Association"></telerik:RadMenuItem>

                                </Items>

                            </telerik:RadMenuItem>

                            <telerik:RadMenuItem Text="Analysis">

                                <Items>

                                    <telerik:RadMenuItem Visible="true" Text="Report Designer">

                                        <Items>

                                            <telerik:RadMenuItem Text="Correlation Designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Clustering Designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Chart Designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Forecasting Designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Regression Designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Simulation Designer"></telerik:RadMenuItem>

                                           

<telerik:RadMenuItem Text="Predictive Model

Designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Tag cloud designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Entities Designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Topics designer"></telerik:RadMenuItem>

                                            <telerik:RadMenuItem Text="Data report designer"></telerik:RadMenuItem>

                                        </Items>

                                   </telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Dashbaord Designer" Visible="true">



                                    </telerik:RadMenuItem>

                                </Items>

                            </telerik:RadMenuItem>

                            <telerik:RadMenuItem Text="Report">

                                <Items>

                                    <telerik:RadMenuItem Text="Saved Reports"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Ad-Hoc Report"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Causation Clues"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Your DashBoard" ></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Predictive Reports"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Simulation Reports" ></telerik:RadMenuItem>

                                </Items>

                            </telerik:RadMenuItem>

                            <telerik:RadMenuItem Text="Dashboard">

                                <Items>



                                </Items>

                            </telerik:RadMenuItem>

                            <telerik:RadMenuItem Text="Manage">

                                <Items>

                                     <telerik:RadMenuItem Text="Alert"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Track"></telerik:RadMenuItem>

                                     <telerik:RadMenuItem Text="Engage"></telerik:RadMenuItem>  

                                    <telerik:RadMenuItem Text="Tasks"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Emails"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Notes"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="External Data"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Concept"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Change Password"></telerik:RadMenuItem>

                                    <telerik:RadMenuItem Text="Add Record"></telerik:RadMenuItem>

                                </Items>

                            </telerik:RadMenuItem>

                            <telerik:RadMenuItem Text="Admin">

                                <Items>

                                    

<telerik:RadMenuItem Visible="true" Text="Data Field

Management"></telerik:RadMenuItem>

                                    

<telerik:RadMenuItem Visible="true" Text="Data Processing

Reports"></telerik:RadMenuItem>

                                     <telerik:RadMenuItem Text="User Management"></telerik:RadMenuItem>

                                    

<telerik:RadMenuItem Visible="true" Text="Group

Management"></telerik:RadMenuItem>

                                     <telerik:RadMenuItem Text="Social Network Management"></telerik:RadMenuItem>

                                     <telerik:RadMenuItem Text="Social Data Feed Management"></telerik:RadMenuItem>

                                    

<telerik:RadMenuItem Visible="true" Text="Data

Modeler"></telerik:RadMenuItem>     



                                </Items>

                            </telerik:RadMenuItem>

                            <telerik:RadMenuItem Text="Super Admin" ExpandMode="ClientSide" ></telerik:RadMenuItem>

                        </Items>



                    </telerik:RadMenu>

                </td>

            </tr>

        </table>



        <div>

            <asp:Label ID="YouAreHere" runat="server" Text="You are here: Manage>>Emails"></asp:Label>

            

            

        </div>

    <div>

        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

        

        </asp:ContentPlaceHolder>

        

    </div>

    </form>

    <script type="text/javascript">

        function _destroyTree2(element) {

            if (element.nodeType === 1) {

                var childNodes = element.childNodes;

                for (var i = childNodes.length - 1; i >= 0; i--) {

                    var node = childNodes[i];

                    if (node.nodeType === 1) {

                        if (node.dispose && typeof (node.dispose) === "function") {

                            node.dispose();

                        }

                        else if (node.control && typeof (node.control.dispose) === "function") {

                            node.control.dispose();

                        }

                        var behaviors = Sys.UI.Behavior.getBehaviors(node);

                        for (var j = behaviors.length - 1; j >= 0; j--) {

                            behaviors[j].dispose();

                        }

                        this._destroyTree(node);

                    }

                }

            }

        }



        Sys.WebForms.PageRequestManager.getInstance()._destroyTree = _destroyTree2

    </script>



</body>

</html>













<<<-------------------------------------------------------------NTier.aspx------------------------------------------------------------------------------>>>>



<%@

Page Title="" Language="C#" MasterPageFile="~/Main.Master"

AutoEventWireup="true" CodeBehind="NTier.aspx.cs"

Inherits="Email_Management.NTier" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">





    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">

        <AjaxSettings>

            <telerik:AjaxSetting AjaxControlID="NTierGrid">

                <UpdatedControls>

                    <telerik:AjaxUpdatedControl ControlID="NTierGrid"></telerik:AjaxUpdatedControl>

                </UpdatedControls>

            </telerik:AjaxSetting>

        </AjaxSettings>

    </telerik:RadAjaxManager>





 <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="" />

  <div>

   <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">

    <div>

       <telerik:RadPanelBar ID="RadPanelBar" runat="server" Width="150%">

          <Items>

            <telerik:RadPanelItem Value="Grid" Text="EmailManagement" Expanded="true" runat="server">

                <Items>

                    <telerik:RadPanelItem Expanded="true" runat="server" Selected="true" Value="EmailGrid">

                        <ItemTemplate>      

                           

<telerik:RadGrid ID="NTierGrid" runat="server" AllowPaging="True"

AllowSorting="True" Skin="WebBlue" AllowMultiRowEdit="True"

GridLines="None"

                            Width="100%"

OnNeedDataSource="NTierGrid_NeedDataSource" 

AllowMultiRowSelection="True" OnItemCreated="NTierGrid_ItemCreated"

                           

OnItemDataBound="NTierGrid_ItemDataBound"

OnItemCommand="NTierGrid_ItemCommand"

OnPageIndexChanged="NTierGrid_PageIndexChanged"

OnPageSizeChanged="NTierGrid_PageSizeChanged">

                            <HeaderContextMenu>

                            </HeaderContextMenu>

                            <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true" />

                            <ClientSettings>

                                <Selecting  AllowRowSelect="true"/>

                            </ClientSettings>

                           

<MasterTableView CommandItemDisplay="Top" AllowPaging="true"

AllowAutomaticDeletes="false" AllowAutomaticInserts="false"

AllowAutomaticUpdates="false"

                           

AllowSorting="true" FilterItemStyle-Height="10px"

FilterItemStyle-Width="100px" ShowHeadersWhenNoRecords="true">



                            <CommandItemTemplate>

                                <div style="height: 28px;">

                                    <asp:ImageButton ImageUrl="images/edit.png"

                                       

Style="margin-left: 4px; margin-top: 2px; width:20px; height:20px;

vertical-align: middle;" ID="btnEdit"

                                        runat="server" ToolTip="Edit" CausesValidation="False" />

                                    <asp:ImageButton ImageUrl="images/delete.png" OnClick="btnDelete_Click"

                                        Style="margin-left: 11px; margin-top: 2px; vertical-align: middle;" ID="btnDelete"

                                        runat="server" ToolTip="Delete" CausesValidation="False" />

                     

                                </div>

                            </CommandItemTemplate>

                

                            <Columns>

                               

<telerik:GridBoundColumn DataField="EmailId"

UniqueName="columnEmailId" HeaderTooltip="EmailId" HeaderText="ID"

Visible="false">

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="FromAddress"

HeaderTooltip="EmailFrom" UniqueName="columnEmailFrom"

FilterControlWidth="70%" Visible="false">

                                    <HeaderStyle Width="150px" Height="15px" />

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="Message"

HeaderTooltip="EmailMessage" UniqueName="columnEmailMessage"

FilterControlWidth="70%" Visible="false"

                                    HtmlEncode="true">

                                    <HeaderStyle Width="150px" Height="15px" />

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="PriorityId"

HeaderTooltip="PriorityID" UniqueName="columnPriority"

Visible="false">

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="CreatedBy"

HeaderTooltip="CreatedBy" UniqueName="columnCreatedBy"

Visible="false">

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="ModifiedBy"

HeaderTooltip="ModifiedBy" UniqueName="columnModifiedBy"

Visible="false">

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="ToAddresses"

HeaderTooltip="ToAddresses" UniqueName="columnToAddresses"

Visible="false">

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="CompId" HeaderTooltip="CompId"

UniqueName="columnCompId" Visible="false">

                                </telerik:GridBoundColumn>

                               

<telerik:GridBoundColumn DataField="CreatedOn"

HeaderTooltip="CreatedOn" UniqueName="columnCreatedOn"

Visible="false">

                                </telerik:GridBoundColumn>



                               

<telerik:GridTemplateColumn UniqueName="ActionHeader"

HeaderText="Edit/Delete" HeaderTooltip="Edit/Delete"

AllowFiltering="false" HeaderStyle-Width="20px">

                                    <ItemTemplate>

                                        <asp:Panel ID="EditButtonPanel" runat="server" Width="72px">&nbsp;

                                           

<asp:ImageButton  ImageUrl="~/images/edit.png" style="width:20px;

height:20px" ToolTip="Edit" OnClick="btnEdit_Click" ID="EditButton"

runat="server" CausesValidation="false"/> &nbsp;&nbsp;

                                           

<asp:ImageButton  ImageUrl="~/images/delete.png" style="width:20px;

height:20px" ToolTip="Delete" ID="DeleteButton"

OnClick="DeleteButton_Click" runat="server"

CausesValidation="false"/>

                                        </asp:Panel>

                                    </ItemTemplate>

                                </telerik:GridTemplateColumn>

                            </Columns>

                

                        </MasterTableView>

                        <ClientSettings AllowColumnsReorder="true" ReorderColumnsOnClient="true">

                            <Selecting  AllowRowSelect="true"/>

                        </ClientSettings>

                    

                        </telerik:RadGrid>

                    </ItemTemplate>

                </telerik:RadPanelItem>

            </Items>

         </telerik:RadPanelItem>

         

<telerik:RadPanelItem Enabled="true" Visible="true" Expanded="true"

runat="server" Value="EmailMasterPanel" Text="Edit Email">

              <Items>

                  <telerik:RadPanelItem Enabled="true" Expanded="true" Value="EmailPanel">

                      <ItemTemplate>

                         

<div id="DivExternalForm" runat="server" style="border:1px solid

groove; background-color:#E8E8E8;">

                              <asp:Panel ID="pnlExternalForm" runat="server" Visible="true">

                                 <div>

                                    

<%--<asp:TextBox ID="MyTextBox" runat="server"

ClientIDMode="Static" CausesValidation="false" BackColor="Yellow"

BorderColor="Tomato" ToolTip="Your Text"></asp:TextBox>--%>

                                    <table style="border:0; margin-top:1px; width: 100%">

                                      

                                      <tr width="100%">

                                          <td width="20%">

                                              <asp:Label ID="LblEmailId" runat="server" Text="Emaild" ></asp:Label>

                                              

                                          </td>

                                      </tr>

                                      <tr>

                                          <td>

                                              <asp:Label ID="LblFromAddress" runat="server" Text="From"></asp:Label>

                                          </td>

                                          <td>

                                             

<asp:TextBox ID="TextBoxFromAddress" runat="server"

CausesValidation="false" ClientIDMode="Static"

Width="400px"></asp:TextBox>

                                             

<%--<telerik:RadTextBox ID="radTextBoxFromAddress"

CausesValidation="false" runat="server"

Width="400px"></telerik:RadTextBox>--%>

                                             

                                          </td>

                                      </tr>

                                      <tr width="100%">

                                          <td>

                                              <asp:Label ID="LblToAddress" runat="server" Text="To"></asp:Label>

                                          </td>

                                          <td>

                                             

<telerik:RadTextBox ID="radTextBoxToAddress" runat="server"

Width="400px"></telerik:RadTextBox>

                                          </td>

                                      </tr>



                                      <tr width="100%">

                                          <td>

                                              <asp:Label ID="LblSubject" runat="server" Text="Subject"></asp:Label>

                                          </td>

                                          <td>

                                             

<telerik:RadTextBox ID="radTextBoxSubject" runat="server"

Width="400px"></telerik:RadTextBox>

                                          </td>

                                      </tr>



                                      <tr width="100%">

                                          <td>

                                              <asp:Label ID="LblMessage" runat="server" Text="Message"></asp:Label>

                                          </td>

                                          <td>

                                             

<telerik:RadTextBox ID="radTextBoxMessage" runat="server"

Width="400px" Height="150px" Visible="false"

TextMode="MultiLine"></telerik:RadTextBox>

                                             

<telerik:RadEditor ID="radEditorMail" runat="server" Width="600px"

BackColor="White" AllowScripts="true"

                                                AutoResizeHeight="false" EnableResize="false" NewLineBr="true" >

                                                    <Tools>

                                                            <telerik:EditorToolGroup>

                                                                    <telerik:EditorSeparator Visible="true" />

                                                                    <telerik:EditorTool Name="Copy" Text="Copy" />

                                                                    <telerik:EditorTool Name="Print" Text="Print" />

                                                                    <telerik:EditorDropDown Name="FontName" />

                                                                   

<telerik:EditorTool Name="ConvertToUpper" Text="Convert to Upper

Case" />

                                                                   

<telerik:EditorTool Name="ConvertToLower" Text="Convert to Lower

Case" />

                                                                    <telerik:EditorTool Name="Bold" Text="Bold" />

                                                                    <telerik:EditorTool Name="Italic" Text="Italic" />

                                                                   

<telerik:EditorTool Name="Underline" Text="Underline" />

                                                                   

<telerik:EditorTool Name="JustifyLeft" Text="Align Left" />

                                                                   

<telerik:EditorTool Name="JustifyCenter" Text="Align Center" />

                                                                   

<telerik:EditorTool Name="JustifyRight" Text="Align Right" />

                                                                   

<telerik:EditorTool Name="InsertOrderedList" Text="Numbered List"

/>

                                                                   

<telerik:EditorTool Name="InsertUnorderedList" Text="Bullet List"

/>

                                                              

                                                                     

<telerik:EditorTool Name="LinkManager" Text="Link Manager" />

                                                                   

<telerik:EditorTool Name="JustifyFull" Text="justify" />

                                                                   

<telerik:EditorTool Name="ForeColor" Text="Foreground color" />

                                                                   

<telerik:EditorTool Name="AjaxSpellCheck" Text="Ajax Spell Checker"

/>

                                                                   

<telerik:EditorTool Name="Subscript" Text="Subscript" />

                                                                   

<telerik:EditorTool Name="Superscript" Text="Superscript" />

                                                                   

<telerik:EditorTool Name="BackColor" Text="BackColor" />

                                                                    <telerik:EditorTool Name="FontSize" Text="FontSize" />

                                                                    <telerik:EditorTool Name="Paste" Text="Paste" />

                                                                    <telerik:EditorTool Name="Cut" Text="Cut" />

                                                            </telerik:EditorToolGroup>

                                                   </Tools>

                                              </telerik:RadEditor>

                                          </td>

                                      </tr>

                                      <tr>

                                          <td>

                                             

<asp:Label ID="LblModifiedBy" runat="server" Text="Modified

By"></asp:Label>

                                          </td>

                                          <td>

                                             

<telerik:RadTextBox ID="radTextBoxModifiedBy" runat="server"

Width="300px"></telerik:RadTextBox>

                                          </td>

                                      </tr>



                                      

                                      <tr>

                                          <td>



                                          </td>

                                          <td>

                                             

<asp:ImageButton ID="btnSave" ImageUrl="images/save.png"

runat="server" OnClick="btnSave_Click" CausesValidation="false"

ToolTip="Save/Update"/>&nbsp;&nbsp;&nbsp;

                                             

<asp:ImageButton ID="btnCancel" ImageUrl="images/cancel.png"

runat="server" OnClick="btnCancel_Click" CausesValidation="false"

ToolTip="Cancel"/>

                                          </td>

                                      </tr>

                                  </table>

                                </div>



                              </asp:Panel>



                          </div>

                      </ItemTemplate>



                  </telerik:RadPanelItem>

              </Items>



          </telerik:RadPanelItem>  

        </Items>

           <CollapseAnimation Duration="100" Type="None"/>

           <ExpandAnimation Duration="100" Type="None" />

     </telerik:RadPanelBar>

    </div>



   </telerik:RadAjaxPanel>

  </div>



    

</asp:Content>







<<<<------------------------------------------------------------------NTier.aspx.cs--------------------------------------------------->>>>





using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using BusinessLayer;

using DataAccessLayer;

using System.Data;

using Telerik.Web.UI;



namespace Email_Management

{

    public partial class NTier : System.Web.UI.Page

    {

        EmailBL objEmailBL = new EmailBL();

        protected void Page_Load(object sender, EventArgs e)

        {

            //-----this is for Simple DataBinding---

            //DataTable dtEmail = objEmailBL.GetEmailData("119");

            //NTierGrid.DataSource = dtEmail as DataTable;

            //NTierGrid.DataBind();

            

           

        }



        public void BindData()

        {

            RadGrid radNTGrid = (RadGrid)RadPanelBar.FindItemByValue("EmailGrid").FindControl("NTierGrid");

            DataTable ds = new DataTable();

            ds = objEmailBL.GetEmailData("119");

            if (ds != null)

            {

                radNTGrid.DataSource = ds;

            }

        }





        protected void NTierGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)

        {



            BindData();

            

        }



        protected void NTierGrid_ItemCreated(object sender, GridItemEventArgs e)

        {



        }



        protected void NTierGrid_ItemDataBound(object sender, GridItemEventArgs e)

        {



        }



        protected void NTierGrid_ItemCommand(object source, GridCommandEventArgs e)

        {



        }



        protected void btnDelete_Click(object sender, ImageClickEventArgs e)

        {



        }



        protected void btnEdit_Click(object sender, ImageClickEventArgs e)

        {

            ImageButton editButton = (ImageButton)sender;

            Panel selectdPanel = (Panel)editButton.Parent;

            GridDataItem dataItem = (GridDataItem)selectdPanel.NamingContainer;



            

            //string fromAddd = dataItem["ColumnEmailFrom"].Text;



            //TextBox txtemail = (TextBox)RadPanelBar.FindItemByValue("EmailPanel").FindControl("MyTextBox");

            //txtemail.Text = fromAddd;

            //txtemail.BackColor = System.Drawing.Color.Aqua;



            string fromAdd=dataItem["columnEmailFrom"].Text;

            TextBox txtFrom = (TextBox)RadPanelBar.FindItemByValue("EmailPanel").FindControl("TextBoxFromAddress");

            txtFrom.Text = fromAdd;

           

           

//

((Label)RadPanelBar.FindItemByValue("EmailPanel").FindControl("LblEmailId")).Text

= dataItem["columnEmailId"].Text;

            //Label txtemail = (Label)RadPanelBar.FindItemByValue("EmailPanel").FindControl("LblEmailId");

            //txtemail.Text = emailid;

           



//((RadTextBox)RadPanelBar.FindItemByValue("EmailPanel").FindControl("radTextBoxFromAddress")).Text

= dataItem["columnEmailId"].Text;

        }





        protected void EditButton_Click(object sender, ImageClickEventArgs e)

        {



        }



        protected void DeleteButton_Click(object sender, ImageClickEventArgs e)

        {



        }



        protected void NTierGrid_PageIndexChanged(object source, GridPageChangedEventArgs e)

        {

            BindData();

            

        }



        protected void NTierGrid_PageSizeChanged(object source, GridPageSizeChangedEventArgs e)

        {

            BindData();

            

        }



        protected void btnSave_Click(object sender, ImageClickEventArgs e)

        {



        }



        protected void btnCancel_Click(object sender, ImageClickEventArgs e)

        {



        }

    }

}







<<<<<-----------------------------------------------------Web.Config-------------------------------------------------------->>>>>



<?xml version="1.0"?>

<!--

  For more information on how to configure your ASP.NET application, please visit

  http://go.microsoft.com/fwlink/?LinkId=169433

  -->

<configuration>

  <appSettings>

   

<add key="connectionstring"

value="Server=192.168.1.61;port=10080;database=xtlytics_db_frontend_dev_v8_5;user

id=pa_dev;password=12!@#$34;pooling=true;Charset=utf8"/>

  </appSettings>

  <connectionStrings/>

  <!--

    For a description of web.config changes for .NET 4.5 see http://go.microsoft.com/fwlink/?LinkId=235367.



    The following attributes can be set on the <httpRuntime> tag.

      <system.Web>

        <httpRuntime targetFramework="4.5" />

      </system.Web>

  -->

  <system.web>

    <compilation debug="true" targetFramework="4.5.1"/>

    <httpHandlers>

      <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>

    </httpHandlers>

    <pages controlRenderingCompatibilityVersion="4.0"/>

  </system.web>

  <system.webServer>

    <validation validateIntegratedModeConfiguration="false"/>

    <handlers>

     

<add name="Telerik_Web_UI_WebResource_axd" verb="*"

preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd"

type="Telerik.Web.UI.WebResource"/>

    </handlers>

  </system.webServer>

</configuration>
Angel Petrov
Telerik team
 answered on 04 Mar 2015
4 answers
164 views
Hi, I have a problematic situation with a grid bounded to a datasource at runtime.
If I work on the grid only with command buttons by editing then it works by reloading the data with the DataBind method.
If I try to order or change page a javascript exception is thrown:

Exception at row 1, column 123034 in http://localhost:55112/bundles/MsAjaxJs?v=c42ygB2U07n37m_Sfa8ZbLGVu4Rr2gsBo7MvUEnJeZ81
0x800a139e - Javascript run-time error: Sys.WebForms.PageRequestManagerServerErrorException: Index is outside the range. Non-negative value and requires less the size of the collection.

See the attach files for details (is a zip)

Thanks a lot
Konstantin Dikov
Telerik team
 answered on 04 Mar 2015
6 answers
135 views
In the help documentation for the SPRadGrid, there is a note that the grid control does not work well with document libraries. What are the limitations/problems when binding to a document library? This is a rather severe limitation, given that document libraries are a first-class feature of SharePoint.

Regards,
Larkin
Marin
Telerik team
 answered on 04 Mar 2015
1 answer
74 views
Dear friends,

I have an issue after upgrading my web forms project to the new version (2015 1 225) of THE UI for ASP.NET AJAX. And it is that the code, which works ok in older versions, does not work anymore in the new version...? The error, which is produced within executing of the bellow shown methods is: "CANNOT FIND A CELL BOUND TO COLUMN...". The code:

//formating data grid
protected void RadGrid10_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem dataItem = (GridDataItem)e.Item;
        dataItem.BackColor = System.Drawing.Color.FromName(dataItem["M"].Text); ;
        dataItem.Font.Size = Convert.ToInt16(dataItem["L"].Text);
        dataItem.Font.Bold = dataItem["N"].Text == "true" ? true : false;
        dataItem.Font.Italic = true;
        dataItem.BorderStyle = BorderStyle.Solid;
        dataItem.BorderWidth = Unit.Pixel(1);
        dataItem.BorderColor = System.Drawing.Color.Black;
    }
}
//export to pdf
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
    if ((String)Session["partnerHP"] != "-9999")
    {
        foreach (GridDataItem item in RadGrid10.Items)
        {
            item.Style["background-color"] = item["M"].Text;
            item.Style["font-family"] = "Arial Unicode MS";
        }
        RadGrid10.ExportSettings.Pdf.Title = hf.Value.ToString();
        RadGrid10.ExportSettings.FileName = hf.Value;
        GridHeaderItem headerItem = RadGrid10.MasterTableView.GetItems(GridItemType.Header)[0] as GridHeaderItem;
        headerItem.Visible = false;
        RadGrid10.MasterTableView.ExportToPdf();
    }
    else
    {
        RadWindowManager1.RadAlert("Za izpis v pdf morajo biti prikazane podrobnosti!", 400, 150, null, null);
    }
}



P.S. Grid is dinamicaly populated using stored procedure which just returns data rows using plain select statement. Data binding is done in "On need data source" from the grid.
And also please see attached file for details. I would appreciate any suggestions.

Regards,
Erik D.
Pavlina
Telerik team
 answered on 03 Mar 2015
5 answers
399 views
Hi,

For accessibility compliance, I need to ensure my rows have headers (just like the columns). So the first cell of each datarow is like:
<th scope="row" ...>

Currently, the grid outputs:
<td scope="row" ...>


...and I don't know which property/properties to modify to get the desired change?



Cheers in advance,
Gordopolis




Lax
Top achievements
Rank 1
 answered on 03 Mar 2015
1 answer
340 views
Hi Team,
We developed Multiple fileupload feature using RadAsyncUpload  control. Telerik dll version is 2012.1.411.35.
We provided shared location path for TargetFolder and TemporaryFolder of RadAsyncUpload  control with Authenticated Users and EveryOne. But still we are getting below error.
In my Environment, we have 4 web front end servers. So we created a shared location in seperate server and assigned to Target and Temporary Folders. If I am wrong please guide me. Could you please help me asap.

And also we have one more question what account is it using to upload a files in Temp and Target folders. I mean login user or system account or network service...etc..?

Error:
System.Exception: RadAsyncUpload does not have permission to write files in the TemporaryFolder. In Medium Trust scenarios, the TemporaryFolder should be a subfolder of the Application Path.    at Telerik.Web.UI.RadAsyncUpload.TestTemporaryFolderPermissions()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyn... 2089f4ca-c105-4340-ab32-ac3565390869

Note: In DEV environment its working fine with authenticated users. with shared location as well as normal folder path.

Thanks in Advance.
Balaji
Hristo Valyavicharski
Telerik team
 answered on 03 Mar 2015
1 answer
109 views
Hi, I am trying to export Excel from RadGrid control, but its giving page error. Unable to debug also. Immediately its expires the page. I have used <GroupByExpressions> option in grid. Is this not allowing us to export excel ?
Because I didn't find any demos or example in from your end on export excel with <GroupByExpressions> option.

In the code behind C# code - 
buttonexport click event i have written below code

Grid.ExportSettings.IgnorePaging = true;
Grid.ExportSettings.ExportOnlyData = true;
Grid.ExportSettings.OpenInNewWindow = true;
Grid.ExportSettings.FileName = "filename";
  
Grid.MasterTableView.ExportToExcel();


if you mentioned below line before exporting method. Getting page error - 

Grid.ExportSettings.Excel.Format = GridExcelExportFormat.ExcelML;

below is the apx code - 
<telerik:RadGrid
               ShowGroupPanel          ="false"
               AutoGenerateColumns     ="false"
               ID                      ="Grid"
               AllowFilteringByColumn  ="False"
               AllowSorting            ="False"
               ShowFooter              ="True"
               runat                   ="server"
               GridLines               ="Both"
               AllowPaging             ="false"
               EnableLinqExpressions   ="false"
               CssClass                ="RadGridCustomClass"
               OnPreRender             ="Grid_PreRender"
               OnExcelMLExportRowCreated="Grid_ExcelMLExportRowCreated"
               OnGridExporting         ="Grid_GridExporting"
               OnExcelMLExportStylesCreated="Grid_ExcelMLExportStylesCreated"
               OnItemDataBound         ="Grid_ItemDataBound">
               <PagerStyle Mode="NextPrevAndNumeric" />
               <MasterTableView
                   ShowGroupFooter         ="true"
                   HeaderStyle-Font-Bold   ="true"
                   HeaderStyle-ForeColor   ="#333333"
                   AllowMultiColumnSorting ="false">
                   <Columns>
                       <telerik:GridBoundColumn
                           DataField                   ="SubCategory"
                           ItemStyle-HorizontalAlign   ="Center"
                           UniqueName                  ="REP013_FuellingCategoryHeaderText"
                           FooterStyle-HorizontalAlign ="Center"
                           FooterStyle-Font-Bold       ="true"
                           HeaderStyle-HorizontalAlign ="Center" >
                       </telerik:GridBoundColumn>
                         
                       <telerik:GridBoundColumn
                           Aggregate                   ="Sum"
                           DataField                   ="Total_Fuel_Litres"
                           DataType                    ="System.Int32"
                           UniqueName                  ="REP013_TotalFuelHeaderText"
                           DataFormatString            ="{0:###,###.##}"
                           ItemStyle-HorizontalAlign   ="Center"
                           FooterStyle-HorizontalAlign ="Center"
                           FooterStyle-Font-Bold       ="true"
                           HeaderStyle-HorizontalAlign ="Center"
                           FooterText                  ="<%$ Resources:MyGlobals, REP013_TotalFuelFooterText%>">
                       </telerik:GridBoundColumn>
                         
                       <telerik:GridBoundColumn
                           Aggregate                   ="Avg"
                           DataField                   ="Bio_Content"
                           DataFormatString            ="{0:0.0%}"
                           UniqueName                  ="REP013_BioContentHeaderText"
                           ItemStyle-HorizontalAlign   ="Center"
                           FooterStyle-HorizontalAlign ="Center"
                           FooterStyle-Font-Bold       ="true"
                           HeaderStyle-HorizontalAlign ="Center" >
                       </telerik:GridBoundColumn>
                         
                       <telerik:GridBoundColumn
                           Aggregate                   ="Sum"
                           DataField                   ="Bio_Diesel_Litres"
                           DataFormatString            ="{0:###,###}"
                           UniqueName                  ="REP013_BioDieselHeaderText"
                           ItemStyle-HorizontalAlign   ="Center"
                           FooterStyle-HorizontalAlign ="Center"
                           FooterStyle-Font-Bold       ="true"
                           HeaderStyle-HorizontalAlign ="Center"
                           FooterText                  ="<%$ Resources:MyGlobals, REP013_BioDieselFooterText%>">
                       </telerik:GridBoundColumn>
                         
                       <telerik:GridBoundColumn
                           Aggregate                   ="Sum"
                           DataField                   ="Standard_Diesel_Litres"
                           DataFormatString            ="{0:###,###}"
                           UniqueName                  ="REP013_StandardDieselHeaderText"
                           ItemStyle-HorizontalAlign   ="Center"
                           FooterStyle-HorizontalAlign ="Center"
                           FooterStyle-Font-Bold       ="true"
                           HeaderStyle-HorizontalAlign ="Center"
                           FooterText                  ="<%$ Resources:MyGlobals, REP013_StandardDieselFooterText%>">
                       </telerik:GridBoundColumn>
                         
                       <telerik:GridBoundColumn
                           Aggregate                   ="Sum"
                           DataField                   ="CO2_Tonnes"
                           DataFormatString            ="{0:###,##0.0}"
                           UniqueName                  ="REP013_CO2QuantityHeaderText"
                           ItemStyle-HorizontalAlign   ="Center"
                           FooterStyle-HorizontalAlign ="Center"
                           FooterStyle-Font-Bold       ="true"
                           HeaderStyle-HorizontalAlign ="Center"
                           FooterText                  ="<%$ Resources:MyGlobals, REP013_CO2QuantityFooterText%>">
                       </telerik:GridBoundColumn>
                   </Columns>
                   <GroupByExpressions>
                       <telerik:GridGroupByExpression>
                           <SelectFields>
                               <telerik:GridGroupByField FieldName="Category" />
                           </SelectFields>
                           <GroupByFields>
                               <telerik:GridGroupByField FieldName="Category" SortOrder="Ascending" />
                           </GroupByFields>
                       </telerik:GridGroupByExpression>
                   </GroupByExpressions>
               </MasterTableView>
               <ClientSettings AllowDragToGroup    ="false" />
               <GroupingSettings ShowUnGroupButton ="false" />
           </telerik:RadGrid>


Can you please help out, how to export excel when we have <GroupByExpressions> option on aspx page.
Let me know if you need any more information.


for the reference I have added snapshots





Daniel
Telerik team
 answered on 03 Mar 2015
1 answer
158 views
I have only tested this issue on Chrome so far. Whenever I apply the filters to the Grid I am getting exception below. Sorting, Paging seem to work ok. Can someone please help with this issue?

.NET Framework=3.5
Visual Studio=2008
Ajax Controls =Telerik_UI_for_ASP.NET_AJAX_2015_1_225

Exception:
Uncaught Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: Specified argument was out of the range of valid values.
Parameter name: index

vb.net file code:

    Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
        PopulateGridView()
        If Not rgrdEMS.MasterTableView.FilterExpression Is String.Empty Then
            rgrdEMS.MasterTableView.Rebind()
        End If
    End Sub

    Public Function PopulateGridView() As String
        Dim oEms = GetPS2.GetEMs 'returns datatable
        rgrdEMS.DataSource = oEms
        rgrdEMS.DataBind()
        Return "Populated"
    End Function

ASPX code:


    <telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnablePageMethods="true"  >
    </telerik:RadScriptManager>
    <telerik:RadSkinManager ID="RadSkinManager1" runat="server">
    </telerik:RadSkinManager>
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Transparency="30" Skin="Silk" >
        </telerik:RadAjaxLoadingPanel>
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="rgrdEMS">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="rgrdEMS" LoadingPanelID="RadAjaxLoadingPanel1" />
                        <telerik:AjaxUpdatedControl ControlID="EMEditWindow"/>
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>
            <telerik:RadPersistenceManager ID="RadPersistenceManager1" runat="server">
                <PersistenceSettings>
                    <telerik:PersistenceSetting ControlID="rgrdEMS" />
                </PersistenceSettings>
            </telerik:RadPersistenceManager>
            <table style="width: 100%; margin:0px; padding:0px; border-spacing:0px;">
                <tr>
                    <td style="height: 600px; border: solid 1px blue; vertical-align: top; margin:0px; padding:0px;">                                                                               
                        <div style="width:100%;">
                            <table style="width: 100%; margin-bottom:2px; ">
                                <tr style="margin:2px; border-width:0px; color: #FFFFFF; background-color: #025BB5;">
                                    <td style="margin:2px; text-align:center; ">                                    
                                        <asp:Label ID="lblTitle" runat="server" Text="Manage Engagement Managers" style="font-size:x-large; font-weight:bold;  margin-bottom:2px; "></asp:Label>
                                    </td>
                                </tr>
                            </table>
                            <table style="margin-left: 2px; margin-right: 3px; margin-top: 2px;margin-left: -x/2px;">
                                <tr>
                                    <td>

<telerik:RadGrid ID="rgrdEMS" runat="server" AllowPaging="True" PageSize="15" AllowSorting="True"
                                        AllowFilteringByColumn="True" CommandItemDisplay="Top" EnableLinqExpressions="false"
                                        OnItemCommand="rgrdEMS_ItemCommand" CellSpacing="0" GridLines="None" Skin="Silk">
                                        <MasterTableView AutoGenerateColumns="false" CommandItemDisplay="Top" TableLayout="Fixed" >
                                            <CommandItemTemplate>
                                                <div style="padding: 5px 5px;">
                                                    <asp:LinkButton ID="LinkButton2" runat="server" OnClientClick="openConfirmationWindow('',0,0,'','',''); return false;" Visible="true"><img style="border:0px;vertical-align:middle;" alt="" src="Images/AddRecord.png"/>Add new EM</asp:LinkButton>&nbsp;&nbsp;
                                                    <asp:LinkButton ID="LinkButton4" runat="server" CommandName="RebindGrid"><img style="border:0px;vertical-align:middle;" alt="" src="Images/Refresh.png"/>Refresh EM list</asp:LinkButton>
                                                </div>
                                            </CommandItemTemplate>
                                            <ColumnGroups>
                                                <telerik:GridColumnGroup Name="GeneralInformation" HeaderText="General Information"
                                                    HeaderStyle-HorizontalAlign="Center" />
                                                <telerik:GridColumnGroup Name="Location" HeaderText="Location"
                                                    HeaderStyle-HorizontalAlign="Center" />
                                            </ColumnGroups>
                                            <HeaderStyle Width="102px" />
                                            <Columns>
                                                <telerik:GridTemplateColumn ColumnGroupName="GeneralInformation">
                                                      <HeaderStyle Width="55px" />
                                                      <ItemTemplate>      
                                                          <asp:ImageButton ID="btnEdit" runat="server" ImageUrl="Images/edit.gif" OnClientClick='<%# String.Format("openConfirmationWindow(""{0}"",""{1}"",""{2}"",""{3}"",""{4}"",""{5}""); return false;", Eval("ResourceName"), Eval("ID"), Eval("CM_ID"), Eval("CONTACT_DETAILS"), Eval("EM_SKILLS"), Eval("EM_AREAS")) %>'/>    
                                                          <asp:ImageButton ID="btnDelete" runat="server" OnClientClick='<%# String.Format("return confirm(""Are you sure you want to delete {0}?"");", Eval("ResourceName")) %>' CommandName="DeleteEM" CommandArgument='<%# String.Format("{0}", Eval("ID")) %>' ImageUrl="Images/deleteicon.png" />   
                                                      </ItemTemplate>          
                                                    <FilterTemplate>
                                                    </FilterTemplate>            
                                                </telerik:GridTemplateColumn>
                                                <telerik:GridBoundColumn DataField="ResourceName" HeaderText="Resource Name" UniqueName="ResourceName"
                                                    ColumnGroupName="GeneralInformation">
                                                    <HeaderStyle Width="120px" />
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn DataField="Contact_Details" HeaderText="Additional Contact Details" UniqueName="Contact_Details" ColumnGroupName="GeneralInformation">
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn DataField="GeoKey" HeaderText="Geography" UniqueName="GeoKey" ColumnGroupName="Location">
                                                    <HeaderStyle Width="100px" />
                                                        <FilterTemplate>
                                                            <telerik:RadComboBox ID="GeographyCombo" runat="server" Height="200px" Width="95px" SelectedValue='<%# CType(Container, GridItem).OwnerTableView.GetColumn("GeoKey").CurrentFilterValue %>'
                                                                OnClientSelectedIndexChanged="GeographyComboIndexChanged" >
                                                                <Items>
                                                                    <telerik:RadComboBoxItem Text="All" Value="" />
                                                                    <telerik:RadComboBoxItem Text="AMER" Value="AMER" />
                                                                    <telerik:RadComboBoxItem Text="APAC" Value="APAC" />
                                                                    <telerik:RadComboBoxItem Text="AMEA" Value="AMEA" />
                                                                    <telerik:RadComboBoxItem Text="USPS" Value="USPS" />
                                                                    <telerik:RadComboBoxItem Text="Unassigned" Value="UNASSIGNED" />
                                                                </Items>
                                                            </telerik:RadComboBox>
                                                            <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
                                                                <script type="text/javascript">
                                                                    function GeographyComboIndexChanged(sender, args) {
                                                                        var tableView = $find("<%# CType(Container, GridItem).OwnerTableView.ClientID %>");
                                                                        tableView.filter("GeoKey", args.get_item().get_value(), "EqualTo");
                                                                    }
                                                                </script>
                                                            </telerik:RadScriptBlock>
                                                            
                                                        </FilterTemplate>
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn DataField="Area_Title" HeaderText="Area" UniqueName="Area_Title"
                                                    ColumnGroupName="Location">
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn DataField="Office_Name" HeaderText="Office" UniqueName="Office_Name"
                                                    ColumnGroupName="Location" FilterControlWidth="60px">
                                                    <HeaderStyle Width="115px" />                                                            
                                                </telerik:GridBoundColumn>
                                            </Columns>
                                            <PagerStyle PageSizes="5,10,15" PagerTextFormat="{4}<strong>{5}</strong> EMs matching your search criteria"
                                                PageSizeLabelText="EMs per page:" />
                                        </MasterTableView>
                                    </telerik:RadGrid>
                                    </td>
                                </tr>
                            </table>
                        </div>                        
                    </td>
                </tr>
            </table>

Pavlina
Telerik team
 answered on 03 Mar 2015
1 answer
69 views
Hello Telerik Team,

I would like to inquire regarding the issue I'm currently encountering in RadUpload. I already deployed my website in IIS and I (single user) was able to see the progress bar whenever I click the button, but when multiple users access the site they where not able to see the progress bar. Are there any solutions for this? Thanks! 
Peter Filipov
Telerik team
 answered on 03 Mar 2015
1 answer
83 views
I am using RadSpell in my application and it was working fine before 2 days but today I have updated my telerik (2015).
After update telerik Add Custom option is not working in rad spell. I have also check on your site that is not working. 
http://demos.telerik.com/aspnet-ajax/spell/examples/overview/defaultcs.aspx
please help me as soon as possible.
Misho
Telerik team
 answered on 03 Mar 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?