Telerik Forums
UI for ASP.NET AJAX Forum
11 answers
237 views
I have tried several possibilities, none of which seem to work.  I need the "Variable" column to be editable on an Insert, but not editable on an edit.  The "Value" column has to be editable in both cases.

The first and third possibilities both leave the "Variable" column editable always.  The middle leaves the "Variable" column never editable.  What am I missing?

BTW the examples on how to do the first possibility leave out exactly how to set the readonly property.

        protected void SubstitutionVariables_OnItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                if (e.Item.OwnerTableView.IsItemInserted)
                {
                    Telerik.Web.UI.RadTextBox tb = (Telerik.Web.UI.RadTextBox)e.Item.FindControl("rtbSubstVarEdit");
                    tb.Visible = true;
                    tb.ReadOnly = false;
                    tb.Enabled = true;
                }
                else
                {
                    Telerik.Web.UI.RadTextBox tb = (Telerik.Web.UI.RadTextBox)e.Item.FindControl("rtbSubstVarEdit");
                    tb.Visible = true;
                    tb.ReadOnly = true;
                    tb.Enabled = false;
                }
            }
        }

        protected void SubstitutionVariables_OnColumnCreated(object sender, Telerik.Web.UI.GridColumnCreatedEventArgs e)
        {
            if (e.Column.UniqueName == "Variable")
            {
                GridBoundColumn Column = (GridBoundColumn)e.Column;
                Column.ReadOnly = !e.OwnerTableView.IsItemInserted;
            }
        }

            <telerik:RadGrid ID="RadGrid1" runat="server"
                AllowMultiRowSelection="true"
                AllowAutomaticDeletes="false"
                AllowAutomaticInserts="true"
                AllowAutomaticUpdates="true"
                AllowFilteringByColumn="false"
                AllowMultiRowEdit="false"
                AllowPaging="false"
                AllowSorting="false"
                OnNeedDataSource="SubstitutionVariables_OnNeedDataSource"
                OnColumnCreated="SubstitutionVariables_OnColumnCreated"
                OnItemCreated="SubstitutionVariables_OnItemCreated"
                OnUpdateCommand="SubstitutionVariables_OnUpdate"
                OnInsertCommand="SubstitutionVariables_OnInsert"
                OnDeleteCommand="SubstitutionVariables_OnDelete">

                <ClientSettings><Selecting AllowRowSelect="true" /></ClientSettings>
                <MasterTableView InsertItemPageIndexAction="ShowItemOnCurrentPage" EditMode="InPlace" >
                    <Columns>
                        <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" />
                        <telerik:GridTemplateColumn DataField="Variable" HeaderText="Variable" UniqueName="SubstitutionVariable"
                            Visible="false" >
                            <ItemTemplate>
                                <asp:Label ID="lblSubstVar" runat="server" ClientIDMode="Static"
                                    Width="150px" />
                            </ItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox ID="rtbSubstVarEdit" runat="server" ClientIDMode="Static"
                                    Width="150px" />
                            </InsertItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox ID="rtbSubstVarEdit" runat="server" ClientIDMode="Static" ReadOnly="true"
                                    Width="150px" />
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn DataField="Value" HeaderText="Value" UniqueName="SubstitutionValue"
                            Visible="false">
                            <ItemTemplate>
                                <asp:Label ID="lblSubstValue" runat="server" ClientIDMode="Static"
                                    Width="150px" />
                            </ItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox ID="rtbSubstValueEdit" runat="server" ClientIDMode="Static"
                                    Width="150px" />
                            </InsertItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox ID="rtbSubstValueEdit" runat="server" ClientIDMode="Static"
                                    Width="150px" />
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                    </Columns>
                    <CommandItemTemplate>
                    </CommandItemTemplate>
                </MasterTableView>
            </telerik:RadGrid>
Shinu
Top achievements
Rank 2
 answered on 02 Jan 2013
2 answers
208 views
Hi,

I want to set the default image url for my command columns(Edit/Delete/Update/Cancel) like what I did for add new record or refresh button. Is that possible? I can change the caption using RadGrid.Main.resx in App_GlobalResources but no luck for image url.


Thanks for your concern
Shinu
Top achievements
Rank 2
 answered on 02 Jan 2013
0 answers
120 views
I 'm doing some customization on an existing page which uses a RadAjaxManager to update some controls.
I have a check box "chkEndUser" which on checking  updates other controls (ddlenduser,....).
When you checks the code,you will find that each control updates the others,so I added an Ajax setting for each control.
When I check the chkEndUser  the RadAjaxLoadingPanel appears on this control,but the control still disabled(not updated).
When I remove RadAjaxManag every thing goes right.


<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <AjaxSettings>          
           <telerik:AjaxSetting AjaxControlID="btnReturnBack">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridDeliveryInfo" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="error" LoadingPanelID="RadAjaxLoadingPanel1" />                                                          
                </UpdatedControls>
            </telerik:AjaxSetting>              
           <telerik:AjaxSetting AjaxControlID="btnApplyVendorToAllItems">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdPOInfo" LoadingPanelID="RadAjaxLoadingPanel1" />                                      
                </UpdatedControls>
            </telerik:AjaxSetting>    
           <telerik:AjaxSetting AjaxControlID="grdItems">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdItems" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="ddlEndUser" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkEndUser" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="ddlResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="ddlBudgets" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="error" LoadingPanelID="RadAjaxLoadingPanel1" />                   
                </UpdatedControls>
            </telerik:AjaxSetting>           
            <telerik:AjaxSetting AjaxControlID="grdPOInfo">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdPOInfo" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadGridDeliveryInfo">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridDeliveryInfo" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="chkEndUser">
                <UpdatedControls>
                
                    <telerik:AjaxUpdatedControl ControlID="ddlEndUser" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="pnlEndUser" LoadingPanelID="RadAjaxLoadingPanel1" />                    
                    <telerik:AjaxUpdatedControl ControlID="ddlResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="ddlBudgets" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="grdItems" LoadingPanelID="RadAjaxLoadingPanel1" />
                                      
                </UpdatedControls>
            </telerik:AjaxSetting>

            <telerik:AjaxSetting AjaxControlID="ddlEndUser">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="pnlEndUser" LoadingPanelID="RadAjaxLoadingPanel1" />
                      <telerik:AjaxUpdatedControl ControlID="grdItems" LoadingPanelID="RadAjaxLoadingPanel1" />
                      <telerik:AjaxUpdatedControl ControlID="chkEndUser" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="ddlResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="ddlBudgets" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    
                </UpdatedControls>
            </telerik:AjaxSetting>

            <telerik:AjaxSetting AjaxControlID="grdVendorInfo">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdVendorInfo" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="ddlSSJustification" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="lblSSJustification" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="txtSSJustification" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="ddlSSJustification">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="lblSSJustification" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="txtSSJustification" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="chkResearchProjectBudget">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ddlResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="ddlBudgets" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="chkResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="chkBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="grdItems" LoadingPanelID="RadAjaxLoadingPanel1" />                    
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="chkBudget">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ddlResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="ddlBudgets" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="chkResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="grdItems" LoadingPanelID="RadAjaxLoadingPanel1" />                    
                </UpdatedControls>
            </telerik:AjaxSetting>
             <telerik:AjaxSetting AjaxControlID="ddlResearchProjectBudget">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdItems" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="chkResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="chkBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                     <telerik:AjaxUpdatedControl ControlID="ddlBudgets" LoadingPanelID="RadAjaxLoadingPanel1" />
                                                            
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="ddlBudgets">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdItems" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="chkBudget" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="ddlResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />  
                    <telerik:AjaxUpdatedControl ControlID="chkResearchProjectBudget" LoadingPanelID="RadAjaxLoadingPanel1" />
                                                           
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="btnSaveCurrentStatus">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="txtCurrentStatus" LoadingPanelID="RadAjaxLoadingPanel1" />                                         
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="btnClearCurrentStatus">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="txtCurrentStatus" LoadingPanelID="RadAjaxLoadingPanel1" />                                         
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="optMultiVendors">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="pnl_poTab_vendorOptein_details" LoadingPanelID="RadAjaxLoadingPanel1" />   
                    <telerik:AjaxUpdatedControl ControlID="optMultiVendors" />
                    <telerik:AjaxUpdatedControl ControlID="optSingleVendor" />                                                           
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="optSingleVendor">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="pnl_poTab_vendorOptein_details" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="optMultiVendors"  />
                    <telerik:AjaxUpdatedControl ControlID="optSingleVendor" />                                         
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" InitialDelayTime="0">
        <table style="width: 100%; height: 100%;">
            <tr style="height: 100%;">
                <td style="width: 100%; text-align: center; vertical-align: middle;">
                    <img alt="Loading..." src="../Images/6.gif" style="border-right: 0px; border-left: 0px;
                        border-top: 0px; border-bottom: 0px;" />
                </td>
            </tr>
        </table>
    </telerik:RadAjaxLoadingPanel>
Amer
Top achievements
Rank 1
 asked on 02 Jan 2013
2 answers
199 views

Hi,

I have an issue on rad html chart; I have a page with rad html pie charts (more than one) inside the rad grid. In grid we have button to select the line and will click on that display the rad pop up window.
 
My issue is when opening that rad window main page rad html pie charts are disappearing. After I close that rad window and refresh page, it will load correctly.
 
need an answer as soon as possible

cheers
Waruni

waruni
Top achievements
Rank 1
 answered on 02 Jan 2013
0 answers
75 views

This is how I set up my AjaxManager:

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1"></telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1"></telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>


I also have this at the top of my page:
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
            <script type="text/javascript">
                var ajaxManager;
                function pageLoad()
                {
                    ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");               
                }
    
                function refreshGrid(arg) {
                    if (ajaxManager != null) {
                        ajaxManager.ajaxRequest(arg);
                    }
                    else
                        alert('no element');
                 }                
            </script>
        </telerik:RadCodeBlock>

In the code behind I am getting the data to the control the first time using the Need Data Source. It is pulling from an object that generates xml which I convert to a datatset.

XmlDocument response = request.Send();
XmlReader xmlReader = new XmlNodeReader(response.SelectSingleNode("response/content/readbyquery/collection"));
dsCatalog.ReadXml(xmlReader);
RadGrid1.DataSource = dsCatalog;

This seems to work fine. The data is populated. I have a treelist and a radgrid on the page. Both are generated just fine. I set the tree list to use a javascript function when you click on the element which calls refreshGrid with an ID.

The refresh calls the function in the code behind, which pulls down my xml again with different results but the data is never updated in the RadGrid.

protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
...
XmlDocument response = request.Send();
XmlReader xmlReader = new XmlNodeReader(response.SelectSingleNode("response/content/readbyquery/collection"));
dsCatalog.ReadXml(xmlReader);
RadGrid1.Rebind();
}

Does the rebinding only work with the same dataset? Can it be completely different? Do you see anything in my code that would cause the data not to change?
           
Kyle
Top achievements
Rank 1
 asked on 02 Jan 2013
9 answers
397 views
Hello,

I am having hard time to code for RadTreeView in a RadComboBox. I am using VB.NET. I cannot see the RadTreeView instance at all
from the code behind. Even if I try the FindControl method! I have to dynamically populate the treenodes with data from SQL Server

ASPX code:
<span><telerik:RadComboBox ID="ddDocType" runat="server" Width="200px" ShowToggleImage="True" Style="vertical-align: middle;" >
    <ItemTemplate>
        <div id="div1">
    <telerik:RadTreeView ID="rtvDocType" runat="server" Width="300px" Height="250px">
        <DataBindings>
            <telerik:RadTreeNodeBinding Expanded="True" />
        </DataBindings>
    </telerik:RadTreeView>
        </div>
    </ItemTemplate>
</telerik:RadComboBox></span>

VB.NET code:

 

 

Dim tvDoc As RadTreeView = New RadTreeView()

 

tvDoc =

CType(FindControl("rtvDocType"), RadTreeView)

 

tvDoc.Nodes.Clear()

 

 


Here tvDoc gives a ERROR 'NullReferenceException'

How can I make it work. Is there any working example where the Nodes are dinamically added from code behind for the RadTreeView
in a RadComboBox?

Thanks,
Sanjay

 

Atul
Top achievements
Rank 1
 answered on 02 Jan 2013
5 answers
75 views
I can get the tree list working fine when I use attribute based xml.
<catalog>
<catalogitem id="1" name="test 1"/>
<catalogitem id="2" name="test 2"/>
</catalog>

but the xml I'm getting from a web service is doing this:
<catalog>
    <catalogitem>
        <id>1</id>
        <name>test 1</name>
    <catalogitem>
    <catalogitem>
        <id>2</id>
        <name>test 2</name>
    <catalogitem>
</catalog>

I have no problem binding the RadGrid to the xml like the latter but I can't seem to figure out how to do it for a treelist.

Also, is there any way to start the parent id as 0 instead of null/empty??
Kyle
Top achievements
Rank 1
 answered on 02 Jan 2013
0 answers
78 views
I've seen a similar post for this back in 2009, but it was not solved.

I'm receiving an error on the Grid / Editing with External Form demo when I created locally.

Object reference not set to an instance of an object


Line 88:         protected void Page_Load(object sender, System.EventArgs e)
Line 89:         {
Line 90:             RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(RadGrid1, RadGrid1, PlaceHolder.FindControl("RadAjaxLoadingPanel1") as RadAjaxLoadingPanel);
Line 91:             //store the clientID of the grid to reference it later on the client
Line 92:             RadAjaxManager.GetCurrent(Page).ResponseScripts.Add(string.Format("window['gridId'] = '{0}';", RadGrid1.ClientID));

When I debug, I notice that placeHolder is still returning a NULL value:

 private Control placeHolder;
        private Control PlaceHolder
        {
            get
            {
                if (placeHolder == null)
                {
                    placeHolder = this.Page.Master.FindControl("ContentPlaceHolder1");
                }
                return placeHolder;
            }

Any ideas?

Thanks, Trisha
Bohemi
Top achievements
Rank 1
 asked on 02 Jan 2013
0 answers
70 views
Hi,

Does anyone know if it is possible to create a full screen multi-calendar setup using the Schedular?

Something like this, but full screen in the browser window?
http://demos.telerik.com/aspnet-ajax/scheduler/examples/overview/defaultcs.aspx

Thanx

John
John
Top achievements
Rank 1
 asked on 01 Jan 2013
2 answers
134 views
Hi,

I am using RadScheduler in MVC 3.0 project. I have few issues while using it. It would be of great help if you can direct me on the resolution for following:

1. How can I set MinutesPerRow property on server side? (As per another forum thread, MinutesPerRow cannot be set on client side).
2. I am trying to use GroupBy property to display multiple resources side by side in RadScheduler. I am using ResourcePopulationMode="ClientSide". But when I use GroupBy property, I get following Javascript error (in js file):

Microsoft JScript runtime error: Unable to get value of the property 'get_visibleRangeStart': object is null or undefined

3. I am trying to add a CheckBox control on the appointment so that it can be selected. But when I add <AppointmentTemplate> tag and add the markup it does not have any affect. Here is the markup that I am using:

<AdvancedForm Modal="true" />
    <AppointmentTemplate>
        <div>
            <asp:CheckBox ID="EligibilityCheck" runat="server" Text="Eligibility" TextAlign="Left" Checked="false" AutoPostBack="true" />
            <br />
            <%#Eval("Subject") %>
        </div>
</AppointmentTemplate>


I am using version 2011.1.519.40 of Telerik.Web.UI.dll

Thanks in advance!!


Raj
Top achievements
Rank 1
 answered on 01 Jan 2013
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?