Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
176 views
I have a radgrid which I am binding in the server side using the needdatasource event. After the initial bind, I need to refresh the grid once every 10 seconds. I need to refresh the grid only if the data has changed since the previous bind.

I have these lines of code in my javascript.

window.setInterval("fetchrealtime()", 10000);
 
     function fetchrealtime() {
            StopTimer();
            var masterTable = $find("<%= InquiryGrid.ClientID %>").get_masterTableView();
            masterTable.fireCommand("RebindGrid");
        }


This fires up the need datasource event of the grid. Is there a way I can bind the grid conditionally in the needdatasource event ?
If the data hasn't changed then I want to skip the refreshing of the grid and retain the previously bound content. Following conditional binding of the grid throws error in some of the GridTemplateBound columns.

protected void InquiryGrid_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
     {
         InquirySearchOutput results = inquirySvc.GetInquiryResults();
         List<InquiryGridView> gridResults = results.gridResults;
 if(results.hasDelta == true)
 {
         InquiryGrid.VirtualItemCount = results.recordCount;
         InquiryGrid.DataSource = gridResults;
 }
     }


I know that I can check if the data has changed by making a wcf call from client side. I really wanted to avoid making multiple calls to get the data/ check for data.
Martin
Telerik team
 answered on 31 Mar 2011
3 answers
122 views
Ajax 2010.3.1317.35

I have a radgrid with some hyperlink columns, and a contextmenu atteched. is there any way to keep the browser menu when right clicking on hyperlinks, keeping the contextmenu on "other" row right click renderings?

here´s my grid code if its to any help.

<telerik:RadGrid ID="grCaseList" runat="server" Skin="Windows7" 
    AllowPaging="True" AllowSorting="True" GridLines="None" ShowGroupPanel="True" 
        Width="100%" AutoGenerateColumns="False" 
        onitemdatabound="grCaseList_ItemDataBound">
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Windows7"></HeaderContextMenu>
  
    <MasterTableView EnableColumnsViewState="true" GroupsDefaultExpanded="false" GroupLoadMode="Client" >
      
        <CommandItemSettings ExportToPdfText="Export to Pdf" >
        </CommandItemSettings>
        <RowIndicatorColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
        </RowIndicatorColumn>
        <ExpandCollapseColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
        </ExpandCollapseColumn>
        <Columns>
            <telerik:GridHyperLinkColumn DataTextField="cs_id" DataType="System.Int32" 
                FilterControlAltText="Filter cs_id column" HeaderText="ID" 
                UniqueName="cs_id" DataNavigateUrlFields="caseUrl" Groupable="False">
            </telerik:GridHyperLinkColumn>
            <telerik:GridHyperLinkColumn DataTextField="cs_header" 
                FilterControlAltText="Filter cs_header column" HeaderText="Rubrik" 
                UniqueName="cs_header" DataNavigateUrlFields="caseUrl" Groupable="False">
            </telerik:GridHyperLinkColumn>
            <telerik:GridHyperLinkColumn DataTextField="nt_us_name" 
                FilterControlAltText="Filter nt_us_name column" HeaderText="Senast ändrad av" 
                UniqueName="nt_us_name">
            </telerik:GridHyperLinkColumn>
            <telerik:GridDateTimeColumn DataField="cs_timePosted" 
                FilterControlAltText="Filter cs_timePosted column" HeaderText="Inlagt" 
                UniqueName="cs_timePosted" DataFormatString="{0:yy-MM-dd hh:mm}">
            </telerik:GridDateTimeColumn>
            <telerik:GridDateTimeColumn DataField="cs_timePlanned" 
                DataType="System.DateTime" FilterControlAltText="Filter cs_timePlanned column" 
                HeaderText="Planerat" UniqueName="cs_timePlanned" DataFormatString="{0:yy-MM-dd}">
            </telerik:GridDateTimeColumn>
            <telerik:GridDateTimeColumn DataField="cs_timeClosed" 
                FilterControlAltText="Filter cs_timeClosed column" HeaderText="Avslutat" 
                UniqueName="cs_timeClosed" DataFormatString="{0:yy-MM-dd hh:mm}">
            </telerik:GridDateTimeColumn>
            <telerik:GridBoundColumn DataField="cs_fromIP" 
                FilterControlAltText="Filter cs_fromIP column" HeaderText="IP" 
                UniqueName="cs_fromIP">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="cs_fritext" 
                FilterControlAltText="Filter cs_fritext column" HeaderText="Fritext" 
                UniqueName="cs_fritext">
            </telerik:GridBoundColumn>
            <telerik:GridHyperLinkColumn DataTextField="cs_fromComputerName" 
                FilterControlAltText="Filter cs_fromComputerName column" HeaderText="Dator" 
                UniqueName="cs_fromComputerName">
            </telerik:GridHyperLinkColumn>
            <telerik:GridBoundColumn DataField="st_name" 
                FilterControlAltText="Filter st_name column" HeaderText="Status" 
                UniqueName="st_name">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="ty_name" 
                FilterControlAltText="Filter ty_name column" HeaderText="Typ" 
                UniqueName="ty_name">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="prio" 
                FilterControlAltText="Filter prio column" HeaderText="Prio" UniqueName="prio">
            </telerik:GridBoundColumn>
            <telerik:GridDateTimeColumn DataField="nt_timePosted" 
                FilterControlAltText="Filter nt_timePosted column" HeaderText="Uppdaterad" 
                UniqueName="nt_timePosted" DataFormatString="{0:yy-MM-dd hh:mm}">
            </telerik:GridDateTimeColumn>
            <telerik:GridHyperLinkColumn DataTextField="cs_us_name" 
                FilterControlAltText="Filter cs_us_name column" HeaderText="Inlagt av" 
                UniqueName="cs_us_name">
            </telerik:GridHyperLinkColumn>
            <telerik:GridHyperLinkColumn DataTextField="adm_ad_username" 
                FilterControlAltText="Filter adm_ad_username column" HeaderText="Ansvarig" 
                UniqueName="adm_ad_username">
            </telerik:GridHyperLinkColumn>
            <telerik:GridBoundColumn DataField="maxRead" 
                FilterControlAltText="Filter maxRead column" HeaderText="maxRead" 
                UniqueName="maxRead" Visible="False">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="maxNote" 
                FilterControlAltText="Filter maxNote column" HeaderText="maxNote" 
                UniqueName="maxNote" Visible="False">
            </telerik:GridBoundColumn>
        </Columns>
  
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
  
    </MasterTableView>
    <ClientSettings AllowDragToGroup="True">
        <Resizing AllowColumnResize="True"></Resizing>
        <ClientEvents OnRowContextMenu="RowContextMenu"></ClientEvents>
    <Selecting AllowRowSelect="true" />
  
    </ClientSettings>
  
<FilterMenu EnableImageSprites="False"></FilterMenu>
</telerik:RadGrid>
  
    <input type="hidden" id="radGridClickedRowIndex" name="radGridClickedRowIndex" />
  
    <telerik:RadContextMenu ID="RadMenu1" runat="server" OnItemClick="RadMenu1_ItemClick"
        EnableRoundedCorners="true" EnableShadows="true" Skin="Windows7">
        <Items>
            <telerik:RadMenuItem Text="Öppna ärende" />
            <telerik:RadMenuItem Text="Avsluta ärende" />
            <telerik:RadMenuItem Text="Ta bort ärende" />
        </Items>
    </telerik:RadContextMenu>
Tsvetina
Telerik team
 answered on 31 Mar 2011
2 answers
219 views
I have a radgrid which is using GridTemplateColumn to enable me to manage the content the way I want.  The Grid worked when i was using GridBoundColumns but when i switch i'm getting the following error.

"exhibition with ID 4 cannot be updated. Reason: Cannot insert the value NULL into column 'exhibitionTitle', table 'trevorbollenart.dbo.exhibitions'; column does not allow nulls. UPDATE fails. The statement has been terminated."

All the controls have been filled in (including exhibitionTitle) does anyone have any ideas? I'm guessing I can mix and match GridTemplateColumn and GridBoundColumns?


Code show below.

<h2>Manage exhibitions</h2>
        <telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
        </telerik:RadScriptManager>
          
        <p>Items marked with a <span class="radgrid-required">*</span> are required. </p>
        <br />
          
        <br />
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="RadGrid1">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Skin="Black" runat="server" />
       <telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True"
            AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AllowPaging="True" PageSize="10"
            AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowSorting="True" Skin="Black" ShowStatusBar="True" >
        <PagerStyle Mode="NextPrevAndNumeric" />
        <MasterTableView DataKeyNames="exhibitionID" DataSourceID="SqlDataSource1" CommandItemDisplay="Bottom" Name="exhibitions"
        CommandItemSettings-AddNewRecordText="Add New Exhibition"  >
                <RowIndicatorColumn>
                    <HeaderStyle Width="20px" />
                </RowIndicatorColumn>
                <ExpandCollapseColumn>
                    <HeaderStyle Width="20px" />
                </ExpandCollapseColumn>
<CommandItemSettings AddNewRecordText="Add New Exhibition"></CommandItemSettings>
    <Columns>
       <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn" HeaderText="Edit">
                        <ItemStyle CssClass="MyImageButton" />
                    </telerik:GridEditCommandColumn>
          
        <telerik:GridTemplateColumn HeaderText="Exhibition Title" UniqueName="exhibitionTitle" >
            <EditItemTemplate>
                <asp:TextBox ID="txtExhibitionTitle" runat="server" Width="300" MaxLength="500" Text='<%#Eval("exhibitionTitle")%>' /> <span class="radgrid-required">*</span>
                <asp:RequiredFieldValidator ID="rfvTitle" runat="server" ErrorMessage="Please enter the exhibition title" ControlToValidate="txtExhibitionTitle" Display="Dynamic" />
            </EditItemTemplate>
            <ItemTemplate>
            <%#Eval("exhibitionTitle")%>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn HeaderText="Gallery Name">
            <EditItemTemplate>
                <asp:TextBox ID="galleryName" runat="server" Width="300" MaxLength="100" Text='<%#Eval("galleryName")%>'  /> <span class="radgrid-required">*</span>
                <asp:RequiredFieldValidator ID="rfvGalleryName" runat="server" ErrorMessage="Please enter the gallery name" ControlToValidate="galleryName" Display="Dynamic" />
            </EditItemTemplate>
            <ItemTemplate>
            <%#Eval("galleryName")%>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
         
         <Telerik:GridDateTimeColumn DataField="eventDateTime"
            HeaderText="Event Date & Time" SortExpression="eventDateTime"
            UniqueName="eventDateTime" PickerType="DateTimePicker"  >
        </Telerik:GridDateTimeColumn>
        <telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Gallery Address">
            <ItemTemplate>
            <%#Eval("galleryAddress")%>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:TextBox ID="galleryAddress" runat="server" TextMode="MultiLine" Height="100" Width="300" MaxLength="500" Text='<%#Eval("galleryAddress")%>'  /> <span class="radgrid-required">*</span>
                <asp:RequiredFieldValidator ID="rfvGalleryAddress" runat="server" ErrorMessage="Please enter the gallery address" ControlToValidate="galleryAddress" Display="Dynamic" />
            </EditItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn HeaderText="Gallery Website">
            <ItemTemplate>
            <%#Eval("galleryUrl")%>
            </ItemTemplate>
            <EditItemTemplate>
                http://<;;asp:TextBox ID="galleryUrl" runat="server" Width="300" MaxLength="100" /> i.e. www.trevorbollen.co.uk
            </EditItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridBoundColumn DataField="galleryTel" HeaderText="Gallery Tel No"
            SortExpression="galleryTel" UniqueName="galleryTel">
        </telerik:GridBoundColumn>
        <telerik:GridTemplateColumn HeaderText="Notes">
            <ItemTemplate>
            <%#Eval("notes")%>
            </ItemTemplate>
            <EditItemTemplate>
               <asp:TextBox ID="notes" runat="server" TextMode="MultiLine" Width="300" MaxLength="500" />
            </EditItemTemplate>
        </telerik:GridTemplateColumn>
       <telerik:GridButtonColumn ConfirmText="Delete this exhibition?" ConfirmDialogType="RadWindow"
                        ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
                        UniqueName="DeleteColumn">
                        <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
                    </telerik:GridButtonColumn>
          
    </Columns>
  
<EditFormSettings>
  
<EditColumn  ButtonType="ImageButton" CancelImageUrl="~/images/btn-cancel.jpg" UpdateImageUrl="~/images/btn-update.jpg" InsertImageUrl="~/images/btn-insert.jpg"  />
</EditFormSettings>
  
</MasterTableView>
            <HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" ForeColor="White" Wrap="True" />
        </telerik:RadGrid>
        <br />
        
      
        <br />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            ConnectionString="<%$ ConnectionStrings:trevorbollenartConn %>"
            InsertCommand="AddNewExhibition" InsertCommandType="StoredProcedure"
            SelectCommand="GetAllExhibitions" SelectCommandType="StoredProcedure"
            UpdateCommand="UpdateExhibition" UpdateCommandType="StoredProcedure"
            DeleteCommand="DeleteExhibition" DeleteCommandType="StoredProcedure">
            <DeleteParameters>
                <asp:Parameter Name="exhibitionID" Type="Int32" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="exhibitionID" Type="Int32" />
                <asp:Parameter Name="exhibitionTitle" Type="String" />
                <asp:Parameter Name="galleryName" Type="String" />
                <asp:Parameter Name="eventDateTime" Type="DateTime" />
                <asp:Parameter Name="galleryAddress" Type="String" />
                <asp:Parameter Name="galleryURL" Type="String" />
                <asp:Parameter Name="galleryTel" Type="String" />
                <asp:Parameter Name="Notes" Type="String" />
            </UpdateParameters>
            <InsertParameters>
                <asp:Parameter Name="exhibitionTitle" Type="String" />
                <asp:Parameter Name="galleryName" Type="String" />
                <asp:Parameter Name="eventDateTime" Type="DateTime" />
                <asp:Parameter Name="galleryAddress" Type="String" />
                <asp:Parameter Name="galleryURL" Type="String" />
                <asp:Parameter Name="galleryTel" Type="String" />
                <asp:Parameter Name="Notes" Type="String" />
            </InsertParameters>
        </asp:SqlDataSource>
      
    </div>
  
</asp:Content>
stevied
Top achievements
Rank 2
 answered on 31 Mar 2011
1 answer
132 views

This is Carlos Mendoza from Accenture, US.

I’m not sure if this is also the same email address for requesting technical assistance so I’d appreciate it if you just forward to the correct group if so.

Our project purchased Telerik’s HTML editor product, and implemented it on our corporate web site, www.accenture.com

That web site is built on MOSS 2007. We have another web site, microsite.accenture.com, built in MOSS 2007 too, in which Telerik’s HTML editor is implemented in there too.

On the Microsite web site, Telerik’s toolbar is able to retrieve the site’s alternate CSS file (.css), and display the CSS classes defined inside the CSS file on the Style dropdown of Telerik’s toolbar, so they can be used by our end users. See attached screenshot below.

 

 

 

 

 

 

 

 

On the www.accenture.com web site, this is not happening on Telerik’s Style dropdown section.

Our clients would like the same behavior of the Style dropdown as the Microsites web site. Is there any configuration or line of code we should implement on the www.accenture.com platform so additional CSS classes defined on the site’s alternate CSS would appear on the Style dropdown of Telerik’s HTML editor toolbar?

 

Please advise.

 

I’d be glad to hop into a call if needed. Just tell me the telephone number of your technical support team.

 

Looking forward to hearing from you!

Stanimir
Telerik team
 answered on 31 Mar 2011
9 answers
109 views
Hello,

I am using the Popup Edit Forms with my RadGrid.  When I set the MasterTableView.EditFormSettings.CaptionFormatString to some string, the Popup window appears with two titles that say the same thing: the title of the window, and a form title below the window's title.  Both captions say the same thing...

I would like to remove the form title but leave the Popup window title... Is that possible??

Thanx,
Manuel
Pavel
Telerik team
 answered on 31 Mar 2011
1 answer
685 views
Hello,

I've implemented a requiredfieldvalidator for a radcombobox which works fine on submitting the form, however I would like to show the red asterisk before the page is submitted to indicate to the user that the field is required.  Using

Page.Validate();

in the Page_load event on the server activates the required field validators that are defined against text boxes, but I can't get the validator associated  with the combobox to show.

 
      <table>
        <tr>
            <td><telerik:RadComboBox id="ddlCostCategory" DataTextField="Name" DataValueField="ID" runat="server" SkinID="WideDll"  ></telerik:RadComboBox></td>
            <td><asp:RequiredFieldValidator runat="server" ControlToValidate ="ddlCostCategory" ID="reqValCostCategory" Text="*" ErrorMessage="Cost Category is required" InitialValue="[Select...]" ></asp:RequiredFieldValidator></td>
        </tr>
      </table>

The combobox si bound to a list with the first item having the text of [Select...] before the Page.Validate is called:

var query2 = from c in PNGC_SmartGridContext.CostCategories select c;
               IList<CostCategory> _costCategories = query2.ToList<CostCategory>();
               _costCategories.Insert(0, new CostCategory() { ID = 0, Name = "[Select...]" });
               ddlCostCategory.DataSource = _costCategories;
               ddlCostCategory.DataBind();

Note that the actual validation on submit works fine, it's just the ability to pre-trigger the red asterisk that would be great.

Thanks

Jonathan
Peter
Telerik team
 answered on 31 Mar 2011
1 answer
82 views
When I click "Add a new record", the Loading... icon at the bottom of the grid spins continuously, but the Edit works fine.

Actually, I found the problem, but I'm not sure how to fix it.

The EditFormType is Template. In the template I have the following:
<td>
    <asp:RadioButtonList ID="CommentLevel_RadioButtonList" runat="server"
                 DataSourceID="CommentLevel_SqlDataSource" DataTextField="CodeValue"
                 DataValueField="CodeName" RepeatDirection="Horizontal"
        
SelectedValue='<%# Eval("CommentCategory") %>'>
    </asp:RadioButtonList>
</td>

The problem is with the SelectedValue. When editing an existing record, there is a value in CommentCategory; but when inserting it is null.

What is the best way for me to conditionally include the SelectedValue property? On a new record, I want don't want a default value -- the user needs to think about which it should be. (An error message displays before saving if null.)
Jayesh Goyani
Top achievements
Rank 2
 answered on 31 Mar 2011
3 answers
148 views
I've got a TreeView in a combo box that works fine. What I'd like to do is keep track of which nodes are expanded in the treeview between pages (I use the control on multiple pages) I've seen code to do a treeview in a combobox and saving a treeview to a session variable but can't seem to get the combination of the two to work correctlty.

Anybody have any suggestions?

TIA - Jeff.
Shinu
Top achievements
Rank 2
 answered on 31 Mar 2011
2 answers
173 views
Is there a way to disable the Chart Title and Chart Legend to NOT be clickable when assigning the Chart a Click event? 

Putting a click event on the item, does not seem to work from code behind.
- item.ActiveRegion.Click += new RegionClickEventHandler(BaseItem_Click);
Item is clickable, but method never gets fired.

I'm using Telerik RadControls for ASP.NET Ajax - version 2010.3.1221.40

Help with any (or both) of the issues above would be greatly appreciated!


Thanks,
Katie

Katie Arnott
Top achievements
Rank 1
 answered on 30 Mar 2011
1 answer
292 views
I have a need to create an Excel Workbook with multiple worksheets and many of those worksheets will have multiple different tables inside of them.

I've learned how to create multiple worksheets but can't seem to figure out how to add multiple tables.  In the below code, you'll see I'm doing that by appending two stringbuilders together.  If I try to append the 2nd set of records ("DashboardFees") to anything other than a TableElement, I can't get it to run without an error.  Any assistance would be appreciated.  Here is what I have.

protected void rgDashboardProduction_GridExporting(object source, GridExportingArgs e)
        {
            IEnumerable<Record> productionRecords = GetDashboardProduction();
            IEnumerable<Record> feeRecords = GetDashboardFees();
 
            StringBuilder sb = new StringBuilder();
            WorksheetElement workSheet = new WorksheetElement("DashboardProduction"); //create new worksheet
            workSheet.Table = ParseRecord(productionRecords);
            
            workSheet.Render(sb); //generate xmlss code
            
            StringBuilder sb2 = new StringBuilder();
            WorksheetElement workSheet2 = new WorksheetElement("DashboardFees"); //create new worksheet
            workSheet2.Table = ParseRecord(feeRecords);
            workSheet2.Render(sb2); //generate xmlss code
 
            string output = string.Concat(sb.ToString(), sb2.ToString());
            e.ExportOutput = e.ExportOutput.Replace("</Styles>""</Styles>" + output); //add the rendered worksheet to the output
        }



private TableElement ParseRecord(IEnumerable<Record> records)
        {
            TableElement table = new TableElement();
            RowElement headerRow;
            RowElement row;
            CellElement cell;
            ColumnElement column;
 
            PropertyInfo[] properties = records.First().Properties;
            int numColumns = properties.Length;
 
            for (int col = 1; col <= numColumns; col++)
            {
                column = new ColumnElement();
                column.Attributes.Add("ss:Width", (100 * col).ToString());
                table.Columns.Add(column);
            }
 
            //Add Header Row
            headerRow = new RowElement();
            foreach (PropertyInfo property in properties)
            {
                cell = new CellElement();
                cell.StyleValue = "headerStyle";
                cell.Data.DataItem = property.Name;
                headerRow.Cells.Add(cell);
            }
 
            //Add Data Rows
            foreach (Record record in records)
            {
                row = new RowElement();
                foreach (PropertyInfo property in record.Properties)
                {
                    cell = new CellElement();
                    cell.Data.DataItem = property.GetValue(record, null);
                    row.Cells.Add(cell);
                }
                table.Rows.Add(row);
            }
 
            return table;
        }


Daniel
Telerik team
 answered on 30 Mar 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?