Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
187 views
Hi, I have an editable grid where one of the fields uses a GridDropDownColumn to select the data, and is currently being populated using an SqlDataSource object.  I would like to be able to add one additional item to the dropdown list to allow the user to select "nothing".  Is there a way to do this?  I know that I could add a blank value in my stored procedure but I would prefer not to do it that way if possible. 

I'm also willing to populate my drop down field differently if need be.  In fact, I do have instances where I will want to build the list of items from scratch in code, so if you could provide code to do this that would be a great help as well!

Here is the ASP code for the grid.  It's the GLFundingID column that I want to add an item to.

<telerik:RadGrid ID="FundingFeesGrid" runat="server" Skin="Sunset" AutoGenerateColumns="false" AllowPaging="false" OnDeleteCommand="FundingFeesGrid_DeleteCommand" OnDetailTableDataBind="FundingFeesGrid_DetailTableDataBind" OnInsertCommand="FundingFeesGrid_InsertCommand" OnItemDataBound="FundingFeesGrid_ItemDataBound" OnNeedDataSource="FundingFeesGrid_NeedDataSource" OnUpdateCommand="FundingFeesGrid_UpdateCommand" OnItemCreated="FundingFeesGrid_ItemCreated">
    <MasterTableView EditMode="InPlace" CommandItemDisplay="Top">
        <Columns>
            <telerik:GridBoundColumn DataField="GLFundingFeeID" Visible="false" />
            <telerik:GridDropDownColumn DataField="GLFundingID" HeaderText="Funding Type" DataSourceID="FundingList" ListTextField="TypeName" ListValueField="GLFundingID" />
            <telerik:GridBoundColumn DataField="FeeName" />
            <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn" HeaderText="Edit" HeaderStyle-Width="60px" HeaderStyle-HorizontalAlign="Center" />
        </Columns>
    </MasterTableView>
</telerik:RadGrid>
Chris McGrath
Top achievements
Rank 1
 answered on 12 Nov 2010
3 answers
195 views
Hi,

We have a grid with CustomPaging, with 10 records per page. Sorting functionality is working fine when clicking on HeaderText. We are using OnSortCommand event to get sorted field and order as below.

FieldName = e.SortExpression, SortOrder = e.NewSortOrder

We also have context menu on the screen. When using ordering from ContextMenu SordCommand Event is not firing.

Do we need to explicitly attach event handler to any ContextMenu event?
Marin
Telerik team
 answered on 12 Nov 2010
3 answers
198 views
I have a RadButton which is sitting in a user control in a RadPane. When the content in the pane grows too large, a vertical scrollbar appears. However, when the pane is scrolled, the button does not scroll with the rest of the content (as if it is positioned absolutely), whether it is in a table cell or a div. If I mouseOver the button after scrolling, it jumps back to its original position.

Using a "standard" button with a primary icon and no text in IE7.

Thanks.
Rumen
Telerik team
 answered on 12 Nov 2010
2 answers
595 views
I went through the upgrade wizard, but when I rebuild and go back to the wizard, it tells me that the currently used RadControls version is 2010.2.713.40 and suggests that I upgrade to 2010.2.929.40. When I click Get Latest Version, it says nothing newer found.

I upgrade to 2010.2.929.40 successfully. Then the wizard says I'm on 2010.2.290.40 (yay!) and that 2010.3.1109.40 is available (yay!) so I upgrade to it (just click next a few times), again it seems successful and the upgrade wizard now shows that I'm running 2010.3.1009.40 (yay!). I've done this process three times now.

Here's where it gets interesting: I have a RadButton that I coded directly in Source view. The error list shows no issues. I rebuild. Boom: error (as listed in title). Go to the upgrade wizard and oops, I'm back on 2010.2.713.40.

---------------------------------------------------------------------------------------------------------------------------------
I can verify the following:

My Telerik.Web.UI.dll.refresh points to
C:\blahblahblah\Telerik\Updates\Telerik.Web.UI_2010_3_1109_Dev_hotfix\Bin40\Telerik.Web.UI.dll

The version of the dll associated with my project is 21010.3.1109.40

I have the tagPrefix defined in the web.config
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/>

 I have the HTTP handlers in the web.config

    <httpHandlers>
      <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false"/>
      <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/>
      <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/>
      <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false"/>
      <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>
    </httpHandlers>
    <httpModules>
      <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule"/>
      <add name="RadCompression" type="Telerik.Web.UI.RadCompression"/>
    </httpModules>
...
    <handlers>
      <remove name="ChartImage_axd"/>
      <remove name="Telerik_Web_UI_SpellCheckHandler_axd"/>
      <remove name="Telerik_Web_UI_DialogHandler_aspx"/>
      <remove name="Telerik_RadUploadProgressHandler_ashx"/>
      <remove name="Telerik_Web_UI_WebResource_axd"/>
      <add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode"/>
      <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode"/>
      <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode"/>
      <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode"/>
      <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode"/>
    </handlers>

Brad
Top achievements
Rank 1
 answered on 12 Nov 2010
3 answers
188 views
Telerik,

My team and I have been trying to decipher this paradox for a couple of days now, but unfortunately, all our efforts have ended being futile. I have RadUpload and RadWindow on the same ASPX page. The screen or logic flow is as follows:

  • User selects multiple images, using RadUpload
  • User clicks on preview button
  • Onclick event is captured in code-behind file; uploaded images are saved in session; javascript is injected, using RadAjaxManager; and RadWindow is triggered, which ultimately shows all the uploaded images.

We are also disabling AJAX for RadAjaxPanel and RadAjaxManager in order for RadUpload to have a full post-back. One thing we have noticed that if we do not disable the AJAX for the preview button, everything works as expected. This behavior, however, forces the RadUpload.UploadedFiles property to show zero count -  even though several files are uploaded to the control.

We were using 2010.2.713.35 version of Telerik.Web.UI assembly, and decided to update to 2010.2.929.35 build, which is latest build. The updates, however, did not solve the problem.

We will be anxiously waiting to hear back from you.  

The default page is as follows:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
  
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
         <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
         <telerik:RadScriptBlock ID="RadCodeBlock1" runat="server">
            <script type="text/javascript">
  
  
                function openEmergencyAlertDialog(caller) {   
                    var queryStr = "PreviewEmergencyAlert.aspx";
                    var oWnd = radopen(queryStr, caller);
                    return false;
                }
  
                function conditionalPostback(sender, args) {
  
                    if (args.get_eventTarget() == "<%= PreviewButton.UniqueID %>") {
                        args.set_enableAjax(false);
                        var manager = $find('<%= RadAjaxManager1.ClientID %>');
                        manager.set_enableAJAX(false);                        
                        setTimeout(function() {
                            manager.set_enableAJAX(true);
                        }, 0);
                    }
                }
   
            </script>
    </telerik:RadScriptBlock>
           
     <telerik:radajaxmanager ID="RadAjaxManager1" runat="server" ClientEvents-OnRequestStart="conditionalPostback" >
          <AjaxSettings>
             <telerik:AjaxSetting AjaxControlID="pnlStatus" >
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="pnlStatus" LoadingPanelID="RadAjaxLoadingPanel1" />
  
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
     </telerik:radajaxmanager>
      
    <telerik:radajaxloadingpanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Vista" Transparency="80"> 
      </telerik:radajaxloadingpanel> 
        
            <asp:Panel ID="pnlStatus" runat="server">
          <div style="padding-left:45px;" >
          
        <table width="900px">
            <tr>
                <td>   
                  
                <center><span style=" color:#0066cc; font-weight:bold; font-size:18px;">Header  </span>            
                <span style="float:right; margin-top:-8px;margin-right:42px;  ">
  
                            <asp:LinkButton ID="PreviewButton" runat="server"  
                                 onclick="PreviewButton_Click"  Text="Preview" >   
                            </asp:LinkButton> 
                </span>  
               </center>
                </td>
            </tr>
        </table>
          
        <!-- Start Download Image -->        
        <div style="height:10px;"></div>        
        <div style="padding-left:4px;"> 
  
            <table width="850px" border="0"  style="background:#75b458;">
                <tr style="line-height:20px;">
                    <td style="width:152px;" valign="top">
                        <asp:Label ID="Label3" runat="server" Text="Upload Image(s):"></asp:Label> 
                    </td>
                    <td>
                        <span style="color:#fff;">Allowed extensions are: .gif, .jpg, .jpeg, .png, .bmp</span>
                        <div style="height:4px;">
                              
                        </div>
                        <telerik:RadUpload ID="RadUpload1" Runat="server" MaxFileInputsCount="5" ControlObjectsVisibility = "ClearButtons"
                                            MaxFileSize="250000"
                                           AllowedFileExtensions=".gif,.jpg,.jpeg,.png,.bmp" >
                        </telerik:RadUpload>                           
                    </td>
                </tr>
  
            </table>            
        </div>        
    </div>
      </asp:Panel>   
    </div>
      
    <telerik:RadWindowManager ID="radEAWindowManager" runat="server">    
            <Windows>
                <telerik:RadWindow ID="radEmergencyAlert" Width="700px" Height="400px" AutoSize="false"
                ShowContentDuringLoad="true" ReloadOnShow="true" VisibleStatusbar="false" runat="server"
                Behaviors="Maximize,Close,Move,Resize,Reload" NavigateUrl="" KeepInScreenBounds="true" 
                Modal="True" Title="Select Entity Actions">
                </telerik:RadWindow>                 
            </Windows>                         
    </telerik:RadWindowManager>   
    </form>
</body>
</html>

The code-behind

protected void PreviewButton_Click ( object sender, EventArgs e )
   {
       if ( RadUpload1.UploadedFiles.Count > 0 )
       {
           List<byte[]> listImage = new List<byte [ ]> ( );
           foreach ( UploadedFile validFile in RadUpload1.UploadedFiles )
           {
               Stream imageStream = validFile.InputStream;
               int imageLength = validFile.ContentLength;
               byte[] imageBinaryData = new byte [ imageLength ];
               int n = imageStream.Read ( imageBinaryData, 0, imageLength );
               listImage.Add ( imageBinaryData );
           }
       }
       RadAjaxManager1.ResponseScripts.Add ( "openEmergencyAlertDialog('radEmergencyAlert');" );
   }


Thanks,

Genady Sergeev
Telerik team
 answered on 12 Nov 2010
1 answer
167 views
Hi - I am very excited to use the RadTreeList as it will greatly simplify some existing code I created using RadGrid -- can you point me to a reference for Server Events (like Item DataBound) where I might be able to manipulate items? Documentation does not show server events..

Ford
Iana Tsolova
Telerik team
 answered on 12 Nov 2010
1 answer
574 views
Heyas;

I thought I had a fairly straight forward thing going on, but it seems I'm stumbling over syntax.  I am hoping someone can quickly clue me in so I can get this page knocked out.  Basically, I have a grid with a heirarchy.  In the detail view, there's a button that fires the "Select" command.  When that happens, I need to get 2-3 data values from the selected record in the detail, and pass them to a variable for the next step.  I know the code needs to go in the ItemCommand event, but I'm not sure on the syntax.  Most of what I'm trying hasn't really met with much success, and I think it is because I am a little confused how the "bubble up" works when it comes to implementation.

Here's the relevant ASPX code:
<telerik:RadGrid ID="CreditsGrid" runat="server"
    AllowPaging="True"
    AllowSorting="True"
    DataSourceID="SqlDataSource1"
    GridLines="None" AutoGenerateColumns="False">
     
    <MasterTableView
        DataSourceID="SqlDataSource1"
        DataKeyNames="OrderID">
        <DetailTables>
            <telerik:GridTableView runat="server"
                DataSourceID="SqlDataSource2"
                DataKeyNames="OrderID">
            <ParentTableRelation>
                <telerik:GridRelationFields
                    MasterKeyField="OrderID"
                    DetailKeyField="OrderID" />
            </ParentTableRelation>
                <CommandItemSettings ExportToPdfText="Export to Pdf" />
            <Columns>                            
                <telerik:GridBoundColumn
                    DataField="DateCreated"
                    HeaderText="Date Created"
                    SortExpression="DateCreated"
                    UniqueName="DateCreated"
                    ReadOnly="True" />
                <telerik:GridBoundColumn
                    DataField="EnteredBy"
                    HeaderText="Entered By"
                    SortExpression="EnteredBy"
                    UniqueName="EnteredBy"
                    ReadOnly="True" />
                <telerik:GridBoundColumn
                    DataField="ChargeCode"
                    HeaderText="Reason Code"
                    SortExpression="ChargeCode"
                    UniqueName="ChargeCode"
                    ReadOnly="True" />                                   
                <telerik:GridBoundColumn
                    DataField="Description"
                    HeaderText="Description"
                    SortExpression="Description"
                    UniqueName="Description"
                    ReadOnly="True" />
                <telerik:GridButtonColumn
                    Text="Review Transaction"
                    ButtonType="LinkButton"
                    CommandName="Select"
                    UniqueName="btnRevTrans" />                                                                           
            </Columns>
            </telerik:GridTableView>
        </DetailTables>                   
        <RowIndicatorColumn>
            <HeaderStyle Width="20px" />
        </RowIndicatorColumn>
        <CommandItemSettings ExportToPdfText="Export to Pdf" />
        <ExpandCollapseColumn>
            <HeaderStyle Width="20px" />
        </ExpandCollapseColumn>
        <Columns>
            <telerik:GridBoundColumn
                DataField="DateCreated"
                DataType="System.DateTime"
                HeaderText="Date Created"
                SortExpression="DateCreated"
                UniqueName="DateCreated">
                <HeaderStyle Width="175px" />
                <ItemStyle Width="175px" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn
                DataField="OrderID"
                DataType="System.Int32"
                HeaderText="OrderID"
                SortExpression="OrderID"
                UniqueName="OrderID">
                <HeaderStyle Width="200px" />
                <ItemStyle Width="200px" />
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn
                DataField="NumOfOrders"
                DataType="System.Int32"
                HeaderText="# of Orders"
                ReadOnly="True"
                SortExpression="NumOfOrders"
                UniqueName="NumOfOrders">
            </telerik:GridBoundColumn>
            <telerik:GridButtonColumn
                CommandName="Select"
                DataTextField="OrderID"
                Text="View"
                UniqueName="column">
            </telerik:GridButtonColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

And following area my feeble attempts on the vb.net side (I know the code is incomplete)
Private Sub CreditsGrid_ItemCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles CreditsGrid.ItemCommand
 
    If e.CommandName = "Select" Then
 
        'Put selected values to variables
        Dim OrderID = CreditsGrid.MasterTableView.GetSelectedItems("OrderID")
        Dim CreatedDate = CreditsGrid.MasterTableView.GetSelectedItems("CreatedDate")
 
        'Removes session variables (just to be safe) & replaces with the new variables.
        Session.Remove("OrderID")
        Session.Remove("CreatedDate")
        Session.Add("OrderID", OrderID)
        Session.Add("CreatedDate", CreatedDate)
 
        'Load Review form.
        CreditsWindow.VisibleOnPageLoad = True
 
    End If
End Sub

Obviously, this doesn't work so well.  Can someone give me a pointer in the right direction?
TSCGlobal
Top achievements
Rank 1
 answered on 12 Nov 2010
1 answer
107 views
I'm looking to be able to handle the reorder myself in the server side RowDrop event using a post drag reordered list. I'll loop thru myself and reorder my data. Is that possible?

<telerik:RadGrid
    ID="gridQL"
    runat="server"
    AutoGenerateColumns="false"
    OnItemCommand="RadGrid_ItemCommand"
    Height="300"
    OnItemDataBound="RadGrid_ItemDataBound"
    OnRowDrop="grdPendingOrders_RowDrop">
    <MasterTableView DataKeyNames="HomeQuickLinkID">
        <Columns>
            <telerik:GridBoundColumn DataField="HomeQuickLinkID" Display="false"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="LinkTitle" HeaderText="Link Title"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="LongShowDate" HeaderText="Show Date"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="LongUpdatedDate" HeaderText="Last Updated"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="UpdatedName" HeaderText="Last Updated By"></telerik:GridBoundColumn>
            <telerik:GridButtonColumn ButtonType="LinkButton" Text="Move Up" CommandName="UpQL"><ItemStyle Width="50px"></ItemStyle></telerik:GridButtonColumn>
            <telerik:GridButtonColumn ButtonType="LinkButton" Text="Move Down" CommandName="DownQL"><ItemStyle Width="70px"></ItemStyle></telerik:GridButtonColumn>
            <telerik:GridButtonColumn ButtonType="LinkButton" Text="Edit" CommandName="EditQL"></telerik:GridButtonColumn>
            <telerik:GridButtonColumn ButtonType="LinkButton" Text="Delete" CommandName="DeleteQL"></telerik:GridButtonColumn>
        </Columns>
    </MasterTableView>
    <ClientSettings EnablePostBackOnRowClick="true"  AllowRowsDragDrop="True">
        <Selecting AllowRowSelect="True" UseClientSelectColumnOnly="true"/>
    </ClientSettings>
</telerik:RadGrid>

protected void grdPendingOrders_RowDrop(object sender, GridDragDropEventArgs e)
    {
        int o = 0;
        NextGen.core.CMS.HomeQuickLinkManager m = new NextGen.core.CMS.HomeQuickLinkManager();
        foreach (GridDataItem i in e.[ReorderedItemsLists])
        {
            o = o + 1;
            m.EditOrder((int)draggedItem.GetDataKeyValue("HomeQuickLinkID"), o);           
        }
        LoadGrid();
    }
Tsvetina
Telerik team
 answered on 12 Nov 2010
0 answers
63 views
I have created a custom control  similar to product control and  customized the look of ItemList page  with repeater control in ContentViewItemList.ascx .

I have added paging at the bottom of the page  with code below. With that paging works fine but page numbers appear as
Prev 1 2 3 4 Next

However I need it to display links as
Prev Page 1 of 4 Next

Could you please advise me as to how I can use PageNumber and PageCount  to achive paging as above?

 
<sf:Pager ID="pager1" runat="server">
    <LayoutTemplate>
        <asp:Repeater ID="PageRepeaterLinkButton" runat="server">
            <HeaderTemplate>
                <div class="floatRt">
                        <asp:LinkButton ID="PreviousPage" runat="server" Text="<%$Resources:PreviousPage %>"></asp:LinkButton>
  
            </HeaderTemplate>
            <ItemTemplate>
                 | 
                    <asp:LinkButton ID="SingleItem" runat="server" />
            </ItemTemplate>
            <FooterTemplate>
                 | 
                    <asp:LinkButton ID="NextPage" runat="server" Text="<%$Resources:NextPage %>"></asp:LinkButton>
                </div>
            </FooterTemplate>
        </asp:Repeater>
        <asp:Repeater ID="PageRepeaterHyperLink" runat="server">
            <HeaderTemplate>
                <div class="floatRt">
                        <asp:HyperLink ID="PreviousPage" runat="server" Text="<%$Resources:PreviousPage %>"></asp:HyperLink>
  
            </HeaderTemplate>
            <ItemTemplate>
                 | 
                    <asp:HyperLink ID="SingleItem" runat="server" />
            </ItemTemplate>
            <FooterTemplate>
                 | 
                    <asp:HyperLink ID="NextPage" runat="server" Text="<%$Resources:NextPage %>"></asp:HyperLink>
                    </div>
            </FooterTemplate>
        </asp:Repeater>
    </LayoutTemplate>
</sf:Pager>

 

Rajesh
Top achievements
Rank 1
 asked on 12 Nov 2010
7 answers
291 views
Windows 7 x64, VS 2008, ASP.Net AJAX v 2010.2.826.35.

I'm auto generating RadGrids from the database using codesmith/nettiers and it works perfectly for some tables but doesn't for others. This particular issue only seems to be IE as it works in other browsers. It also happens whether there is data or not.

Bascially it gets confused with the position on the scrollbar and as you scroll right it can reset back to the left or as you reach the end of the table it loses track of earlier columns and just shows the last page with the scrollbar on the left and then last field with the scrollbar disabled.

If I drag the scrollbar to the right it continuosly moves left/right and occasionalyy I get an 'Unspecified Error' on:-

setTimeout(

"Telerik.Web.UI.Grid.frozenScrollHanlder("+this._frozenScrollCounter+")",0);

 

 

 

 

 

I think the issue is a problem with the column headers - below is a single column for a RadGrid that scrolls perfectly. 
 
<telerik:GridBoundColumn DataField="LabourCardNumber" HeaderText="Labour Card Number" SortExpression="[LabourCardNumber]" HeaderStyle-Width="100px" HeaderStyle-VerticalAlign="Top" ItemStyle-VerticalAlign="Top" /> 

 

 

 

 

 

 

if I do something as simple as changing the HeaderText to "Labour Card Number Reference"  the horizontal scrollbar no longer functions correctly in IE (6,7 or 8).

Think its something to do with the length of the HeaderText. Can you confirm its an issue and being looked into?

Thanks

B

Jeff Wickersham
Top achievements
Rank 1
 answered on 12 Nov 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?