Telerik Forums
UI for ASP.NET AJAX Forum
5 answers
298 views
I am attempting to put a radgrid that I can edit on a page that contains other other controls (textbox, dropdowns, etc.)
I can get the grid to show but when I click on the edit icon it simply comes back to the same page.
Any help would be appreciated.

The code for the grid is below.
   <!-- RAD Routing GRID -->
        <asp:UpdatePanel ID="upGrid" runat="server">
            <ContentTemplate>
                <table border="0" cellpadding="5" width="100%">
                    <tr>
                        <td valign="top" >
                           <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
                                <script type="text/javascript">
                                    function RowDblClick(sender, eventArgs) {
                                        sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical());
                                    }
 
                                    function gridCreated(sender, args) {
                                        if (sender.get_editIndexes && sender.get_editIndexes().length > 0) {
                                            document.getElementById("OutPut").innerHTML = sender.get_editIndexes().join();
                                        }
                                        else {
                                            document.getElementById("OutPut").innerHTML = "";
                                        }
                                    }
                                </script>
                            </telerik:RadCodeBlock>
                            <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
                                <AjaxSettings>
                                    <telerik:AjaxSetting AjaxControlID="gvEdit">
                                        <UpdatedControls>
                                            <telerik:AjaxUpdatedControl ControlID="gvEdit" LoadingPanelID="pnlLoad">
                                            </telerik:AjaxUpdatedControl>
                                            <telerik:AjaxUpdatedControl ControlID="winManager"></telerik:AjaxUpdatedControl>
                                        </UpdatedControls>
                                    </telerik:AjaxSetting>
                                </AjaxSettings>
                            </telerik:RadAjaxManager>
                            <telerik:RadAjaxLoadingPanel ID="pnlLoad" runat="server"></telerik:RadAjaxLoadingPanel>
                            <telerik:RadGrid ID="gvEdit" GridLines="None" runat="server" Skin="WebBlue"   AllowAutomaticDeletes="True"
                                AllowAutomaticInserts="True" PageSize="10" AllowAutomaticUpdates="True" AllowPaging="True"
                                AutoGenerateColumns="False" DataSourceID="sdsEditGrid" OnItemUpdated="gvEdit_ItemUpdated"
                                OnItemDeleted="gvEdit_ItemDeleted" OnItemInserted="gvEdit_ItemInserted" OnItemCreated="gvEdit_ItemCreated"
                                OnItemCommand="gvEdit_ItemCommand" OnDataBound="gvEdit_DataBound">
                                <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle>
                                <MasterTableView Width="100%" CommandItemDisplay="TopAndBottom" DataKeyNames="RoutingID"
                                    DataSourceID="sdsEditGrid" HorizontalAlign="NotSet" AutoGenerateColumns="False">
                                    <Columns>
                                        <%-- Edit Image--%>
                                        <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
                                            <ItemStyle CssClass="MyImageButton"></ItemStyle>
                                        </telerik:GridEditCommandColumn>
 
                                        <%--Name DropDown--%>
                                        <telerik:GridBoundColumn DataField="Name" HeaderText="Name"
                                            SortExpression="Name" UniqueName="Name" Visible="true"
                                            EditFormColumnIndex="0" ColumnEditorID="GridTextBoxColumnEditor1" MaxLength="50">
                                        </telerik:GridBoundColumn>
 
                                         <%--RoutingID TextBox--%>
                                        <telerik:GridBoundColumn DataField="RoutingID" HeaderText="RoutingID"
                                            SortExpression="RID" UniqueName="RID" Visible="true"
                                            EditFormColumnIndex="0" ColumnEditorID="GridTextBoxColumnEditor0" MaxLength="50">
                                        </telerik:GridBoundColumn>
 
                                         <%--Department DropDown--%>
                                        <telerik:GridBoundColumn DataField="Department_Code" HeaderText="Department"
                                            SortExpression="Department" UniqueName="Department" Visible="true"
                                            EditFormColumnIndex="1" ColumnEditorID="GridTextBoxColumnEditor2" MaxLength="50"  >
                                        </telerik:GridBoundColumn>
 
                                         <%--Date Sent TextBox--%>
                                       <%-- <telerik:GridBoundColumn DataField="DateSent" HeaderText="Date Sent"
                                            SortExpression="DateSent" UniqueName="DateSent" Visible="true"
                                            EditFormColumnIndex="2" ColumnEditorID="GridTextBoxColumnEditor3" MaxLength="50">
                                        </telerik:GridBoundColumn>--%>
 
                                         <%--Date Returned TextBox--%>
                                       <%-- <telerik:GridBoundColumn DataField="DateReturned" HeaderText="Date Returned"
                                            SortExpression="DateReturned" UniqueName="DateReturned" Visible="true"
                                            EditFormColumnIndex="3" ColumnEditorID="GridTextBoxColumnEditor4" MaxLength="50">
 
                                        </telerik:GridBoundColumn>--%>
                                          <%--Inactive checkbox--%>
                                       <%-- <telerik:GridCheckBoxColumn DataField="InActive" HeaderText="InActive" SortExpression="InActive"
                                            UniqueName="InActive" EditFormColumnIndex="0" >
                                        </telerik:GridCheckBoxColumn>--%>
                                          <%--Delete --%>
                                        <telerik:GridButtonColumn ConfirmText="Delete this Routing Record?" ConfirmDialogType="RadWindow"
                                            ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
                                            UniqueName="DeleteColumn">
                                            <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton"></ItemStyle>
                                        </telerik:GridButtonColumn>
                                    </Columns>
 
                                    <EditFormSettings  ColumnNumber="1" CaptionDataField="RoutingID" CaptionFormatString="Edit Routing Record: {0}"
                                        InsertCaption="New Routing Record" FormCaptionStyle-Font-Bold="true" FormMainTableStyle-BackColor="lightgrey" >
                                        <FormTableItemStyle Wrap="False"></FormTableItemStyle>
                                        <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle>
                                        <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="3" Width="100%"></FormMainTableStyle>
                                        <FormTableStyle CellSpacing="0" CellPadding="2" Height="40px"></FormTableStyle>
                                        <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle>
                                        <EditColumn ButtonType="ImageButton" InsertText="Insert Routing Record" UpdateText="Update record"
                                            UniqueName="EditCommandColumn1" CancelText="Cancel edit">
                                        </EditColumn>
                                        <FormTableButtonRowStyle HorizontalAlign="Right" CssClass="EditFormButtonRow"></FormTableButtonRowStyle>
                                    </EditFormSettings>
 
                                </MasterTableView>
 
                                <ClientSettings>
                                    <ClientEvents OnRowDblClick="RowDblClick" OnGridCreated="gridCreated"></ClientEvents>
                                </ClientSettings>
                                </telerik:RadGrid>
                                <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor1" runat="server" TextBoxStyle-Width="100px"/>
                                <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor2" runat="server" TextBoxStyle-Width="350px"/>
 
                            <br />
                          
                            <asp:SqlDataSource 
                             ID="sdsEditGrid" 
                             runat="server"
                             SelectCommand ="usp_Get_Routing_ForBulletin"
                             InsertCommand="dbsp_addCompany"
                             UpdateCommand="dbsp_updateCompanies"
                             DeleteCommand="dbsp_deleteCompany"
                             SelectCommandType="StoredProcedure"
                             InsertCommandType="StoredProcedure"
                             UpdateCommandType="StoredProcedure"
                             DeleteCommandType="StoredProcedure" >
 
                             <SelectParameters>
                                <asp:Parameter Name="BulletinNumber" Type="Int32"  />
                             </Selectparameters>   
 
                            <InsertParameters>
                            
                            </InsertParameters>
 
                            <UpdateParameters>
                                <asp:Parameter Name="RoutingID" Type="Int32"  />
                            </UpdateParameters>
 
                            <DeleteParameters>
                                <asp:Parameter Name="RoutingID" Type="Int32"  />
                            </DeleteParameters>
 
                        </asp:SqlDataSource
                       </td>
                    </tr>
                </td>
        </table>
     </td>
  </tr>
</table>
            </ContentTemplate>
        </asp:UpdatePanel>
 

Code from .cs file pertaining to radgrid edit

 

protected void gvEdit_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)

{

 

if (e.Item is GridEditableItem && e.Item.IsInEditMode)

{

 

GridEditableItem item1 = e.Item as GridEditableItem;

 

GridTextBoxColumnEditor editor1 = (GridTextBoxColumnEditor)item1.EditManager.GetColumnEditor("Name");

 

TableCell cell1 = (TableCell)editor1.TextBoxControl.Parent;

 

RequiredFieldValidator validator1 = new RequiredFieldValidator();

editor1.TextBoxControl.ID =

 

"Namex";

validator1.ControlToValidate = editor1.TextBoxControl.ID;

validator1.ErrorMessage =

 

"Name required";

cell1.Controls.Add(validator1);

 

GridEditableItem item2 = e.Item as GridEditableItem;

 

GridTextBoxColumnEditor editor2 = (GridTextBoxColumnEditor)item2.EditManager.GetColumnEditor("Department");

 

TableCell cell2 = (TableCell)editor2.TextBoxControl.Parent;

 

RequiredFieldValidator validator2 = new RequiredFieldValidator();

editor2.TextBoxControl.ID =

 

"Name_for_validation";

validator2.ControlToValidate = editor2.TextBoxControl.ID;

validator2.ErrorMessage =

 

"Department required";

cell2.Controls.Add(validator2);

}

}

 

protected void gvEdit_ItemUpdated(object source, GridUpdatedEventArgs e)

{

 

if (e.Exception != null)

{

e.KeepInEditMode =

 

true;

e.ExceptionHandled =

 

true;

SetMessage(

 

"Routing record not updated. Reason: " + e.Exception.Message);

}

 

else

{

gvEdit.Rebind();

SetMessage(

 

"Routing record updated!");

}

}

 

protected void gvEdit_ItemDeleted(object source, GridDeletedEventArgs e)

{

 

if (e.Exception != null)

{

e.ExceptionHandled =

 

true;

 

String x = "Routing Record cannot be deleted. Reason: " + e.Exception.Message;

DisplayMessage(x);

}

 

else

{

gvEdit.Rebind();

SetMessage(

 

"Company is deleted!");

}

}

 

protected void gvEdit_ItemInserted(object source, GridInsertedEventArgs e)

{

 

if (e.Exception != null)

{

e.KeepInInsertMode =

 

true;

e.ExceptionHandled =

 

true;

 

String x = "Routing Record cannto be inserted. Reason: " + e.Exception.Message;

DisplayMessage(x);

}

 

else

{

SetMessage(

 

"New Routing Record is inserted!");

gvEdit.Rebind();

}

}

 

protected void gvEdit_ItemCommand(object source, GridCommandEventArgs e)

{

 

if (e.CommandName == RadGrid.EditCommandName)

{

gvEdit.MasterTableView.IsItemInserted =

 

false;

}

 

if (e.CommandName == RadGrid.InitInsertCommandName)

{

gvEdit.MasterTableView.ClearEditItems();

}

}

 

protected void gvEdit_DataBound(object sender, EventArgs e)

{

 

if (!string.IsNullOrEmpty(gridMessage))

{

DisplayMessage(gridMessage);

}

}

Some of the code from the .cs file pertaining to the radgrid edit

protected void gvEdit_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
   {
       if (e.Item is GridEditableItem && e.Item.IsInEditMode)
       {
           GridEditableItem item1 = e.Item as GridEditableItem;
           GridTextBoxColumnEditor editor1 = (GridTextBoxColumnEditor)item1.EditManager.GetColumnEditor("Name");
           TableCell cell1 = (TableCell)editor1.TextBoxControl.Parent;
           RequiredFieldValidator validator1 = new RequiredFieldValidator();
           editor1.TextBoxControl.ID = "Namex";
           validator1.ControlToValidate = editor1.TextBoxControl.ID;
           validator1.ErrorMessage = "Name required";
           cell1.Controls.Add(validator1);
 
           GridEditableItem item2 = e.Item as GridEditableItem;
           GridTextBoxColumnEditor editor2 = (GridTextBoxColumnEditor)item2.EditManager.GetColumnEditor("Department");
           TableCell cell2 = (TableCell)editor2.TextBoxControl.Parent;
           RequiredFieldValidator validator2 = new RequiredFieldValidator();
           editor2.TextBoxControl.ID = "Name_for_validation";
           validator2.ControlToValidate = editor2.TextBoxControl.ID;
           validator2.ErrorMessage = "Department required";
           cell2.Controls.Add(validator2);
       }
   }
   protected void gvEdit_ItemUpdated(object source, GridUpdatedEventArgs e)
   {
       if (e.Exception != null)
       {
           e.KeepInEditMode = true;
           e.ExceptionHandled = true;
           SetMessage("Routing record  not updated. Reason: " + e.Exception.Message);
       }
       else
       {
           gvEdit.Rebind();
           SetMessage("Routing record updated!");
 
       }
   }
   protected void gvEdit_ItemDeleted(object source, GridDeletedEventArgs e)
   {
       if (e.Exception != null)
       {
           e.ExceptionHandled = true;
           String x = "Routing Record cannot be deleted. Reason: " + e.Exception.Message;
           DisplayMessage(x);
       }
       else
       {
           gvEdit.Rebind();
           SetMessage("Company is deleted!");
       }
   }
   protected void gvEdit_ItemInserted(object source, GridInsertedEventArgs e)
   {
       if (e.Exception != null)
       {
           e.KeepInInsertMode = true;
           e.ExceptionHandled = true;
           String x = "Routing Record cannto be inserted. Reason: " + e.Exception.Message;
           DisplayMessage(x);
       }
       else
       {
           SetMessage("New Routing Record is inserted!");
           gvEdit.Rebind();
       }
   }
   protected void gvEdit_ItemCommand(object source, GridCommandEventArgs e)
   {
       if (e.CommandName == RadGrid.EditCommandName)
       {
           gvEdit.MasterTableView.IsItemInserted = false;
       }
 
       if (e.CommandName == RadGrid.InitInsertCommandName)
       {
           gvEdit.MasterTableView.ClearEditItems();
       }
   }
   protected void gvEdit_DataBound(object sender, EventArgs e)
   {
       if (!string.IsNullOrEmpty(gridMessage))
       {
           DisplayMessage(gridMessage);
       }
   }
Elliott
Top achievements
Rank 2
 answered on 03 Jun 2013
1 answer
63 views
hi,

I am using Spellcheck control in my aspx page..which is working fine in IE browser

but When am accesing my aspx page from Google Chrome it is displaying a Message in SpellChecker control as "SpellCheck in Progress......"
check my screen shot in attatchment

but nothing is spellchecking and buttons on spellcheck control are also not working 

can you Please help me in this..?
Slav
Telerik team
 answered on 03 Jun 2013
3 answers
199 views
I have a simple RadCalendar control that allows the user to select a range of consecutive days. The first day is clicked regularly then the second day is selected with the shift key pressed. All days between the two days are placed in the selected range. However, by setting EnableMultiSelect to true, the user can also select the days at the top of the calendar (M, T, etc) and the calendar will select every Monday, Tuesday, etc.

We need to ensure users cannot select days in this way because the days are not consecutive, but we still need to allow mulitselect.

I am using javascript to manage the date selection by clearing the previous date is the user does not press the shift key.
Selecting the dates by clicking on the week number in the left margin is ok, although if that functionality was lost, it wouldn't be a problem.

Is there a setting that I can use to allow multiselect and but disallow users clicking the column and row headers?
Keith
Top achievements
Rank 2
 answered on 03 Jun 2013
1 answer
197 views

I have very basic Radmenu

I would like to remove all boarders form all parts of the menu including root, vertical etc.

I know if I set the css for root to border:none !important all borders are removed.

However, once I apply

EnableRoundedCorners="True"

A 1px upper and lower border are also applied to the sub menu containers.

Is there anyway to remove ALL border when rounded corners is enabled

Here is my CSS

/* <RadMenu / ETP> */
 
.RadMenu_ETPZ2 .rmRootGroup, .RadMenu_ETPZ2 a.rmLink, .RadMenu_ETPZ2 .rmText
{
    border:none !important;
    font: normal 12px "Segoe UI" ,Arial,Helvetica,sans-serif;
    line-height: 22px;
}
 
.RadMenu_ETPZ2 .rmRootGroup
{
    border:none !important;
    background-repeat: repeat-x;
    background-color: transparent;
    margin: 0 !important;
    padding: 0 !important;
}
 
.RadMenu_ETPZ2 .rmVertical
{
    border:none !important;
    background-color: #FDF4B9;
    background-image: url('../images/back_menu.jpg');
}
 
.RadMenu_ETPZ2 .rmSlide > ul.rmVertical
{
        border: 1px solid #4265ac;
}
 
/* <Root items> */
 
 
.RadMenu_ETPZ2, .RadMenu_ETPZ2 a.rmLink, .RadMenu_ETPZ2 .rmRootLink
{
    color: #000000;
    font-size: 14px;
}
 
.RadMenu_ETPZ2 .rmItem, .RadMenu_ETPZ2 a.rmFocused, .RadMenu_ETPZ2 a.rmSelected
{
    background-position: 0;
    background-color: transparent; /* Selected menu*/
}
 
.RadMenu_ETPZ2 .rmLast a.rmExpanded .rmText
{
    background-repeat: no-repeat;
}
 
.RadMenu_ETPZ2 a.rmDisabled, .RadMenu_ETPZ2 a.rmDisabled:hover
{
    color: #7d7d7d;
    background-position: 0 500px;
}
 
.RadMenu_ETPZ2 .rmVertical .rmLink, .RadMenu_ETPZ2 .rmHorizontal .rmLink
{
    margin-right: 0px; /* Distance between menu items*/
}
 
 
/* Separators */
 
.RadMenu_ETPZ2 .rmSeparator
{
    padding: 1px;
    background-color: #4265ac !important;
}
 
.RadMenu_ETPZ2 .rmSeparator .rmText
{
    background-color: #4265ac !important;
}
 
 
/* Containers */
 
DIV.RadMenu_ETPZ2 .rmItem .rmLink:hover
{
    border:none !important;
    color: #CC0000;
    background-color: transparent;
}
 
DIV.RadMenu_ETPZ2 .rmGroup .rmItem .rmLink .rmText
{
    padding-left: 10px;
    padding-right: 53px;
    margin-left: 4px;
    margin-right: 0px;
    width: 100px;
}
 
DIV.RadMenu_ETPZ2 .rmGroup
{
    padding-bottom: 10px !important;
}


Thank you.

Allan

Kate
Telerik team
 answered on 03 Jun 2013
5 answers
189 views
Hi Team,

One quick query related to RadPivotGrid as mentioned below:

How to save the current setting or user preferences of telerik RadPivotGrid in Asp.net?

Is there any similar type of functionality or approach as we have in GridSettingsPersister class in PivotGrid? Any suggestion/help to achieve the same.

Thanks & regards,
Badal Kumar
Angel Petrov
Telerik team
 answered on 03 Jun 2013
0 answers
99 views
Hi,

I have Radcombobox with checkbox and Radgridview on my page and radcombobox is outside the radgridview.
Also, radcombobox has near about 100-200 items.

I am facing one performance issue while checking a checkbox specific to IE browser.
Issue is, when there are few records in the grid view, checking checkbox is faster. But when there are many records in the radgridview greater than 1500 or 2000, then checking checkbox is slower(It is taking near about 2 seconds to select a checkbox) on IE.

Please provide me solution on this.

Thanks.
Amol
Top achievements
Rank 1
 asked on 03 Jun 2013
9 answers
760 views
Hi all,
I have 2 problems to solve.
1. I am trying to filter a rad textbox in client side. I need to restrict special characters in it. Is there any control like FilteredTextBoxExtender to filter rad textbox ?

 I am really fed up with this.Please provide me a solution for this.

thanks
Abhi
Vasil
Telerik team
 answered on 03 Jun 2013
3 answers
83 views
Hi,

I'm using arraylist for my wrapper grid to bind the child grids in order to export pdf but data is getting exported in  pdf file with two header items "Capacity" and "Count", not sure from where these are coming.

            ArrayList arrayList = new ArrayList();
            arrayList.Insert(0, Performance.GetPerformanceData1());
            arrayList.Insert(1, Performance.GetPerformanceData2());

            RadGridWrapper.DataSource = arrayList;
            RadGridWrapper.DataBind();

I strongly believe ArrayList is creating problem with radgrid, please check and let me know the solution for that as I need to use ArrayList.

Attaching the snap shot for your reference, please have a look.


Daniel
Telerik team
 answered on 03 Jun 2013
1 answer
74 views
Hi I'm trying to work out if I can do the below.  Any advice on this would be helpful.

The short version

Can the AsyncUpload FileUploaded event be delayed till after an insert of a new record in order to obtain the newly inserted records id?

The long version

The scenario :

I have a db table which contains appointments.  An associated attachments table contains any files that are related to a particular appointment.

I'm using a bound radgrid which shows all appointments (using an entity data source with automatic inserts/updates). 
I want to allow the user to create a new appointment and as part of this allow attachments to be uploaded along with the new appointment. 
I insert the attachments into an attachment table and associate the attachments with the appointment by the appointment id.

The issue :

The issue  is that at the point of inserting the new appointment I am also inserting my attachment files (using RadAsyncUpload1_FileUploaded).  I require the appointment id at the point of inserting the attachments.  The appointment id is only generated on insert of the new record.

I stepped through the code and the FileUploaded triggers before the entitydatasource insert.

So I will have to insert the attachments with no associated appointment id.

On inserting the new appointment I would then have to update the attachments table and identify these new attachments, then associate the appointment id with them.  This seems very prone to potential errors.  The ideal solution would be if I can perform the entitydatasource insert before the file uploaded triggers as then I should be able to obtain the new appointment id and associate the new attachments records with this correctly.

Any suggestions on how to approach this problem would be appreciated. 

I can if necessary not allow uploads on the initial insert of the appointment.  Then if the user has attachments to upload they must edit the appointment and upload them at that point.  Uploading of the files when an appointment is edited is working correctly.

Thanks.

Kostadin
Telerik team
 answered on 03 Jun 2013
3 answers
58 views
Hi,
I have a problem that when i use the staticheaders option of the RadGrid, my export does not work. Only the first time.
The RadGrid exists in an updatepanel. I have registered the exelbutton as postbackcontrol to the scriptmanager.

In the ItemCreated eventhandler of the radgrid
System.Web.UI.Control ctrl = e.Item.FindControl("ExportToExcelButton");
System.Web.UI.ScriptManager.GetCurrent(grid.Page).RegisterPostBackControl(ctrl);

So when usestaticheaders = false, export works, when true not !

There is an old post where you mentioned the usestaticheaders should be set to false when exporting, is this still relevant or not?
The post:
http://www.telerik.com/community/forums/aspnet-ajax/grid/export-grid-within-updatepanel.aspx

I also tried it adding following function, but in our application it does not work, only the first option, (register as portbackbutton)

Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(initializeRequestHandler);
 
function initializeRequestHandler(sender, args)
{
   if (args.get_postBackElement().id.indexOf("ExportToExcelButton") != -1)
   {
      args.set_cancel(true);
      sender._form["__EVENTTARGET"].value =
      args.get_postBackElement().id.replace(/\_/g, "$");
      sender._form["__EVENTARGUMENT"].value = "";
      sender._form.submit()
   }
}

Thanks in advance
Rudy
Kostadin
Telerik team
 answered on 03 Jun 2013
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?