Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
324 views
I have a grid with a nested view template. Inside the nested view I have a checkbox. When the value changes, I need to check a value in the parent item's data. How do I get this value?

Using the code below I can get the parent Item, but its DataItem is null.
GridNestedViewItem nesteditem = (GridNestedViewItem)button.NamingContainer;
GridDataItem item = nesteditem.ParentItem;

What am I missing?
Rayne
Top achievements
Rank 1
 answered on 26 Sep 2013
1 answer
86 views
In a treeview with a vertical scrollbar, is there a way to tell if a specific node is within the visible area of the treeview?  I am highlighting multiple nodes in a treeview based on whether or not the node text matches a search string entered by the user.  If one or more of the highlighted nodes requires scrolling to bring it into view, I want to display a button that will allow the user to scroll the next match into view, but if all of the matches are within the viewable area, I do not want to display the button. 
Kate
Telerik team
 answered on 26 Sep 2013
1 answer
109 views
I am continuing the thread cause it is related to the width of column.

 Actually I have column like decline,Delete,And approve they are visible true or false according to the roll of logged in Employee.
I am troubling in setting the width of all columns (I have given width in percentage )I have used table layout to fixed

Please help me to give correct width if columns are hidden or visible at run time.
In attached image I have hide delete ,decline check box columns as he is normal user.
Princy
Top achievements
Rank 2
 answered on 26 Sep 2013
1 answer
97 views
I recently created a page that contained a control which at the same time has another control

The internal control has 3 dropdownlist which are loaded in sequence. I mean, I select something from the first one and then second will be loaded. I used a RadAjaxManagerProxy in my page. Previously I have configured in my master page the ScriptManager and the meta tag for IE compatibility. The thing that in IE8 it works perfectly. The page does not refresh and give the information accurate but in IE10 does a postback when I change the element of the dropdownlist and my ModalBox disappear. I tried everything but nothing happens. I did the test with IE8 natively and then in the same PC updated with IE10. It works again in IE10 if I active the developper tools F12 and I set Browser Mode IE10 and Document Mode IE8

I realized in VS2012 working with IE10, I see the world icon in runtime that refreshes any time that I raise the onchange event of the dropdownlist, but not in IE8 where it works fine.

What can I do. This is my progress:

**Master Page**

    <Telerik:RadScriptManager ID="radScriptManager" runat="server" />

    <meta http-equiv="X-UA-Compatible" content="IE=10; IE=9; IE=8; IE=7; IE=EDGE" />


**Control 1**


    <table width="100%">
    <tr>
        <td>
            <asp:PlaceHolder ID="ph1" runat="server">
            <asp:DropDownList ID="ddl1" runat="server" Enabled="True" ShowFirstRow="True"
                AutoPostBack="True" AutoSelectSingleItem="true" onvaluechanged="ddl1_ValueChanged" />
            <br />
            </asp:PlaceHolder>
            <asp:DropDownList ID="ddl2"runat="server" Enabled="True" ShowFirstRow="True"
                AutoPostBack="True" AutoSelectSingleItem="True" onvaluechanged="ddl2_ValueChanged" />
            <br />
            <asp:DropDownList ID="ddl3" runat="server" Enabled="True" ShowFirstRow="True"
                AutoPostBack="true" AutoSelectSingleItem="True" onvaluechanged="ddl3_ValueChanged" />
        </td>
    </tr>
    </table>

**Control 2**

        <%@ Register Src="Control1.ascx" TagName="Control1" TagPrefix="asp" %>
        <h2>Details</h2>
        <asp:Repeater runat="server" ID="repAccounts" onitemdatabound="repAccounts_ItemDataBound" >
            <ItemTemplate>
                <asp:Control1 runat="server" ID="control1" />
            </ItemTemplate>
        </asp:Repeater>

**Page**
    
    <%@ Register Src="../Controls/Control2.ascx" TagName="Control2" TagPrefix="asp" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="cphContents" runat="server">
        <Telerik:RadAjaxManagerProxy ID="ramp1" runat="server">
            <AjaxSettings>
                <Telerik:AjaxSetting AjaxControlID="pnl1">
                    <UpdatedControls>
                        <Telerik:AjaxUpdatedControl ControlID="pnlContainer" />
                        <Telerik:AjaxUpdatedControl ControlID="pnlControl" />
                    </UpdatedControls>
                </Telerik:AjaxSetting>
                <Telerik:AjaxSetting AjaxControlID="pnlControl">
                    <UpdatedControls>
                        <Telerik:AjaxUpdatedControl ControlID="pnlControl" />
                    </UpdatedControls>
                </Telerik:AjaxSetting>
            </AjaxSettings>
        </Telerik:RadAjaxManagerProxy>
    
    
    
        <asp:Panel ID="pnlContainer" runat="server">
            <asp:Panel ID="pnlDetails" runat="server">
                <asp:Repeater ID="repeater1" runat="server" OnItemDataBound="repeater1_ItemDataBound" OnItemCommand="repeater1_ItemCommand" >
                    <HeaderTemplate>
                        <table>
                        <thead>
                            <tr>
                                <th></th>
                                <th></th>
                            </tr>
                        </thead>
                        <tbody>
                    </HeaderTemplate>
                    <ItemTemplate>
                            <tr>
                                <td><asp:Literal ID="litCode" runat="server"></td>
                                <td><asp:LinkButton ID="lnbSetDetails"></td>
                            </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        </tbody>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>
            </asp:Panel>
        </asp:Panel>
    
    
        <asp:ModalBox ID="myModalBox" runat="server">
            <Content>
                <asp:Panel ID="pnlControl" runat="server">
                    <asp:Control2 id="myControl2" runat="server" />
                </asp:Panel>
            </Content>
        </asp:ModalBox>

**Code behind**

        protected void repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
              RadScriptManager.RegisterStartupScript(this, this.GetType(), "show", "showModalBox('myModalBox');", true);
        }
Deyan Enchev
Telerik team
 answered on 26 Sep 2013
1 answer
114 views
Hi there,

I need some help on RadGrid and its autosort :)

I want a Header column clickable to start OnSortCommand then my tableview.rebind.
But my data linked with DataSource , are already sorted as i want , nothing else :)

Each time i click header column , i can see my data but sorted again by RadGrid. 

I try lot of thing to stop auto sorting :D Nothing works

On Tableview :
tableView.AllowNaturalSort = false;
tableView.OverrideDataSourceControlSorting = true;
tableView.AllowSorting = false;
tableView.SortExpressions.Clear();
                     
tableView.Rebind();


My NeedDataSource : 

protected void rg_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
       {
           try
           {
               this.rg.VirtualItemCount = this.ItemCount;
               DataTable tb ;
                
               if (string.IsNullOrEmpty(sortedFieldClicked))
                   tb = this.DataSourceObject.GetData(this.TabId, this.rg.CurrentPageIndex + 1, this.rg.PageSize, null, SortOrder.None);
               else
               {
                   tb = this.DataSourceObject.GetDataBySortedField(this.TabId, this.rg.CurrentPageIndex + 1, this.rg.PageSize, sortedFieldClicked, actualSortOrder);
               }
               this.rg.DataSource = tb;
            
           }
           catch (Exception ex)
           {
               UIProcessHelper.AddMessage(String.Format("Error while fetching data for tab '{0}' TODO List: {1}", this.TabId,ex.Message), UIMessage.UIMessageType.error);
           }
       }

this.rg.DataSource = tb;

tb is exact data sorted as i want but i want to avoid autosorting done by radgrid or tableview after "this.rg.DataSource = tb;"

Any Helps ? =D
Jayesh Goyani
Top achievements
Rank 2
 answered on 26 Sep 2013
1 answer
58 views
Hi ,

In my module there are 2 grids, first one is populated on the search button click.

in the grid the first column was select button, on click of that button popup window will be displayed with yes or no option.

 

If it is Yes then the another datasource will be binded in the 2nd grid.

If the datasource have records on click of AddNewRecord button, it display the edit form with insert and cancel buttons.

 

Issue:

On click of AddNewRecord option the 2nd grid is not visible when there is no datasource to bind, but it is working fine if the datasource have records. the 2nd grid will be disapper on click of any button in the grid.

 

Resolution Required:

Even though the data source has empty records, on click of AddNewRecord the edit form should be visible and we need to add the records in the Edit form and rebind the data in the grid.

 

Can u please give the solution for my issue also if you have code sample please share with me.
Thanks

Maria Ilieva
Telerik team
 answered on 26 Sep 2013
3 answers
214 views
I am building my radgrid dynamically from the Page_Init of my form. The PageInit calls the procedure defineGridStructure. Below is the code for that prodedure. Near the top of the procedure you will see me call WB_sp_RetrieveGeographySelectionColumnOrder store procedure. This gets me the columns in the order the user wants to see them. In the Do While loop, I create the columns in the order the user wants them and with the attributes needed. (columnCreation is the procedure that does this). This RadGrid gets its information using the NeedDataSource and ItemDataBound functions for the Grid. When the screen populates the grid works great, column order is what the user wants, and data is retrieved.

Here is the problem: While the user is on the form, they can pop-up another form which allows them to set the columns in different order. Once they save that, they can then come back to the original form, click a submit button and the screen should refresh with the new order of columns. Stepping through the code, my defineGridStructure runs fine, calls the Stored Procedure to get the new column order and applies the new order. It then goes to the NeedDataSource and ItemDataBound respectively. Inside the ItemDataBound is where the issue lies. Once I get my e.Item (GridDataItem)  dataRow, I see the the information is still being bound to the columns in the original order. I get errors because of the different type issue.

example: in the original order, the first column was gridtemplatecolumn for checkbox, and second was a string. Once I switched the two in the pop-up, and hit the submit, the first column is a GridBoundColumn for string, the second column is gridtemplatecolumn for checkbox but the information bound to the row is still looking at it like the original order.

It seems to be something about after changing the order of columns, I need to leave the screen totally, come back in (the system will run the same code) but this time the binding of data is correct. It errors when I have the grid up already, make some changes in order of columns in my database table, then re-submit the page to pick up the new changes. Maybe a session thing. What do I need to do?

defineGridStructure procedure
RadGrid1.ID = "RadGrid1"
        'RadGrid1.Width = Unit.Pixel(1500)
        RadGrid1.Height = Unit.Pixel(700)
  
        RadGrid1.MasterTableView.EditMode = GridEditMode.InPlace
        RadGrid1.AllowPaging = True
        RadGrid1.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric
        RadGrid1.AutoGenerateColumns = False
        RadGrid1.ShowStatusBar = True
        RadGrid1.AllowSorting = True
        RadGrid1.AllowFilteringByColumn = True
        RadGrid1.MasterTableView.NoDetailRecordsText = "No records could be found."
        RadGrid1.MasterTableView.NoMasterRecordsText = "No records could be found."
        RadGrid1.MasterTableView.ShowHeadersWhenNoRecords = True
  
        RadGrid1.Skin = "WebBlue"
        RadGrid1.HeaderStyle.CssClass = "RadGridHeader"
        RadGrid1.MasterTableView.ItemStyle.CssClass = "DetailsRow1"
        RadGrid1.MasterTableView.AlternatingItemStyle.CssClass = "DetailsRow2"
        RadGrid1.GroupingSettings.CaseSensitive = False
        RadGrid1.ClientSettings.ClientEvents.OnGridCreated = "GetGridObject"
        RadGrid1.ClientSettings.Scrolling.FrozenColumnsCount = 2
        RadGrid1.ClientSettings.AllowColumnsReorder = True
        RadGrid1.ClientSettings.ColumnsReorderMethod = GridClientSettings.GridColumnsReorderMethod.Reorder
        RadGrid1.ClientSettings.Selecting.AllowRowSelect = True
        RadGrid1.ClientSettings.Resizing.AllowColumnResize = True
        RadGrid1.ClientSettings.Scrolling.AllowScroll = True
        RadGrid1.ClientSettings.Scrolling.UseStaticHeaders = True
        RadGrid1.ClientSettings.Scrolling.SaveScrollPosition = True
        RadGrid1.ClientSettings.ClientEvents.OnFilterMenuShowing = "filterMenuShowing"
        RadGrid1.FilterMenu.OnClientShowing = "MenuShowing"
          
        If ConfigurationManager.AppSettings("geoSelectionGridSize") <> "" Then
            RadGrid1.MasterTableView.PageSize = ConfigurationManager.AppSettings("geoSelectionGridSize")
        Else
            RadGrid1.MasterTableView.PageSize = 50
        End If
  
        RadGrid1.MasterTableView.AllowMultiColumnSorting = True
        RadGrid1.MasterTableView.DataKeyNames = New String() {"DetailID", "Day", "FoundGeographies", "SubZipCount"}
  
        RadGrid1.MasterTableView.HierarchyLoadMode = GridChildLoadMode.ServerBind
  
        RadGrid1.MasterTableView.HierarchyDefaultExpanded = True
  
        Dim dpCounter As Integer = 1
        Dim dpCollection As IList(Of RadListBoxItem) = rlbDistributionPatterns.CheckedItems
        For Each item As RadListBoxItem In dpCollection
            Dim columnGroup As New GridColumnGroup
            columnGroup.HeaderText = item.Text
            columnGroup.Name = "GroupDP" & dpCounter.ToString
            columnGroup.HeaderStyle.HorizontalAlign = HorizontalAlign.Center
            RadGrid1.MasterTableView.ColumnGroups.Add(columnGroup)
            dpCounter += 1
        Next
  
        Dim strSQL As String
        Dim columnHeader As String = ""
        Dim columnName As String = ""
        Try
            strSQL = "EXEC WB_sp_RetrieveGeographySelectionColumnOrder " & UcHeader.UserId
            mobjSqlDataReaderColumnheaders = mobjDatabase.fnRetrieveData("DATAREADER", strSQL, "Columns")
            Do While mobjSqlDataReaderColumnheaders.Read
                columnHeader = mobjSqlDataReaderColumnheaders("ColumnHeader").ToString.Trim
                columnName = mobjSqlDataReaderColumnheaders("ColumnName").ToString.Trim
  
                If (columnName = "LocationMarket" Or columnName = "LocationNumber" Or columnName = "LocationName" Or columnName = "Distance" Or _
                    columnName = "Sales" Or columnName = "TotalSales" Or columnName = "BOS" Or columnName = "CumeBOS" Or columnName = "SPH" Or columnName = "SPHIndex") Then
                    If miZipCodeStoreAssociationTypeID > 0 Then
                        columnCreation(columnHeader, columnName, RadGrid1)
                    End If
                ElseIf Left(columnName, 2) = "CD" Then
                    If Right(columnName, 1) = 1 And mstrClientDataCategoryID1Description.Trim <> "" Then
                        columnCreation(mstrClientDataCategoryID1Description.Trim, "CD1", RadGrid1)
                    End If
                    If Right(columnName, 1) = 2 And mstrClientDataCategoryID2Description.Trim <> "" Then
                        columnCreation(mstrClientDataCategoryID2Description.Trim, "CD2", RadGrid1)
                    End If
                    If Right(columnName, 1) = 3 And mstrClientDataCategoryID3Description.Trim <> "" Then
                        columnCreation(mstrClientDataCategoryID3Description.Trim, "CD3", RadGrid1)
                    End If
                ElseIf Left(columnName, 11) = "Demographic" Then
                    If Right(columnName, 1) = 1 And mstrReportDemographicID1Description.Trim <> "" Then
                        columnCreation(mstrReportDemographicID1Description.Trim, "Demographic1", RadGrid1)
                    End If
                    If Right(columnName, 1) = 2 And mstrReportDemographicID2Description.Trim <> "" Then
                        columnCreation(mstrReportDemographicID2Description.Trim, "Demographic2", RadGrid1)
                    End If
                    If Right(columnName, 1) = 3 And mstrReportDemographicID3Description.Trim <> "" Then
                        columnCreation(mstrReportDemographicID3Description.Trim, "Demographic3", RadGrid1)
                    End If
                    If Right(columnName, 1) = 4 And mstrReportDemographicID4Description.Trim <> "" Then
                        columnCreation(mstrReportDemographicID4Description.Trim, "Demographic4", RadGrid1)
                    End If
                    If Right(columnName, 1) = 5 And mstrReportDemographicID5Description.Trim <> "" Then
                        columnCreation(mstrReportDemographicID5Description.Trim, "Demographic5", RadGrid1)
                    End If
                ElseIf (columnName = "Forced" Or columnName = "Version" Or columnName = "SubVersionCategory" Or columnName = "DeliveryCode" Or columnName = "DistributionPatterns") Then
                    If UcHeader.objSession.ApplicationId <> CInt(ConfigurationManager.AppSettings("MediaviewerAppID")) Then
                        If columnName = "Forced" Then
                            columnCreation(columnHeader, columnName, RadGrid1)
                        End If
                        If columnName = "Version" And miVersionsCategoryID > 0 Then
                            columnCreation(columnHeader, columnName, RadGrid1)
                        End If
                        If columnName = "SubVersionCategory" And miVersionsCategoryID > 0 Then
                            columnCreation(columnHeader, columnName, RadGrid1)
                        End If
                        If columnName = "DeliveryCode" And miDeliveryCodeCount > 0 Then
                            columnCreation(columnHeader, columnName, RadGrid1)
                        End If
  
                        If columnName = "DistributionPatterns" Then
                            dpCounter = 1
                            For Each item As RadListBoxItem In dpCollection
                                columnCreation(item.Text, "DP" & dpCounter.ToString, RadGrid1)
                                columnCreation(item.Text, "CoverageDP" & dpCounter.ToString, RadGrid1)
                                dpCounter += 1
                            Next
                        End If
                    End If
                Else
                    columnCreation(columnHeader, columnName, RadGrid1)
                End If
            Loop
            mobjSqlDataReaderColumnheaders.Close()
            mobjSqlDataReaderColumnheaders = Nothing
        Catch exp As Exception
            Throw New Exception(exp.Message & ", frmGeographySelection.defineGridStructure")
        End Try
  
        columnCreation("Geography", "Geography2", RadGrid1)
        columnCreation("Circ Type", "CirculationTypeDescription2", RadGrid1)
  
        columnCreation("FoundGeographies", "FoundGeographies", RadGrid1)
  
        RadGrid1.Width = Unit.Pixel(widthOfRadGridDetails + 40)
  
        Me.PlaceHolder1.Controls.Add(RadGrid1)
Marin
Telerik team
 answered on 26 Sep 2013
3 answers
494 views
Is it possible to pass a parameter to

RadGrid.NeedDataSource += new GridNeedDataSourceEventHandler(grid_NeedDataSource(Parameter i want to pass));

  void grid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e, DataTable dt)
    {
        DataTable current = dt;
        RadGrid grid = (RadGrid)sender;
        grid.DataSource = current;
    }

I want to be able to pass it a DataTable as a parameter. How would i be able to do that?
Jayesh Goyani
Top achievements
Rank 2
 answered on 26 Sep 2013
1 answer
356 views
Hello,
I use Radgrid for viewing my web application logs. These logs has 7 different types, so in order to filter the grid, I added before radgrid, a CheckBoxList that contains the ID of log types. So the code is something like this:

       For Each lItem As ListItem In chkTipologieLog.Items
            If lItem.Selected Then
                lstrFiltro += "(CodTipologiaLog = " + lItem.Value.ToString + ") OR"
            End If
        Next
 
           rdgrid.Mastertableview.FilterExpression = "(" + lstrFiltro + ")"
           rdgrid.Mastertableview.rebind

The code is more than this one, it consider also the filter operations made by radgrid filter columns, so, in checbox select index changed, the rdgrid.Mastertableview.FilterExpression could be like this:
"(iif(Azienda == null, "", Azienda).ToString().ToUpper() = "Azienda 1".ToUpper()) AND ((CodTipologiaLog = 2) OR(CodTipologiaLog = 3))"

It perfectly works if you choose a filter in the filterrow (in this case Azienda = Azienda 1) and THEN you select one or more items in checlistbox.

BUT... if you select one checkbox and then you choose a filter in the filter-row, the filters programmatically created is not taken in consideration. I tried to catch ItemCommand event of radgrid and, when FilterCommandName is fired, recalculate the filters obtained by checboxes. In this case, even if filterexpression contains the correct query, rows are filtered only for Azienda = Azienda 1 query.

The same if I recaculate the filter on every postback.

Where am I wrong?

Thanks
Mario
Konstantin Dikov
Telerik team
 answered on 26 Sep 2013
3 answers
210 views
Hi,

I have searched high and low for a solution to this problem, but haven't been able to find answer as yet.

I am trying to fix a bug in an existing application.  There is a grid with a column of text-boxes that the user can enter data into.  The column is made editable in the grid PreRender event.

Here is the code:

 
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
    <telerik:RadGrid ID="TGrid" runat="server" Visible="true" AllowPaging="true" AllowSorting="true"
        PageSize="20" ScrollHeight="100px" ViewStateMode="Enabled" OnNeedDataSource="RadGrid1_NeedDataSource"
        OnPreRender="RadGrid1_PreRender" AutoGenerateColumns="false" AllowSelection="False"
        AllowMultiRowSelection="false" AllowMultiRowEdit="true" >
        <MasterTableView runat="server" HeaderStyle-Wrap="False" AllowCustomSorting="true"
            AllowMultiColumnSorting="false" RetrieveAllDataFields="false" EnableColumnsViewState="false"
            EditFormSettings-EditColumn-Visible="false" AdditionalDataFieldNames="Cow_ID"
            DataKeyNames="Cow_ID" EditMode="InPlace">
            <Columns>
                <telerik:GridBoundColumn DataField="Cow_ID" HeaderText="MiHub ID" DataType="System.Int32"
                    ReadOnly="true" HeaderStyle-Width="6em" />
                <telerik:GridBoundColumn DataField="COW_EID" HeaderText="Electronic ID" DataType="System.String"
                    ReadOnly="true" HeaderStyle-Width="12em" />
                <telerik:GridBoundColumn DataField="COW_LifeId" HeaderText="Birth ID" DataType="System.String"
                    ReadOnly="true" HeaderStyle-Width="8em" />
                <telerik:GridBoundColumn DataField="COW_VID" HeaderText="Current Visual ID" DataType="System.Int32"
                    ReadOnly="true" HeaderStyle-Width="8em" />
                <telerik:GridTemplateColumn DataField="COW_VID" HeaderText="New Visual ID" DataType="System.Int32"
                    ReadOnly="false" HeaderStyle-Width="15em">
                    <EditItemTemplate>
                        <telerik:RadNumericTextBox runat="server" ID="tbNewVisualID" SelectionOnFocus="SelectAll"
                            AutoPostBack="false" MinValue="0" MaxValue="999999">
                            <NumberFormat DecimalDigits="0" GroupSeparator="" />
                            <ClientEvents OnKeyPress="TelerikVisualIDKeyPress" OnValueChanged="TelerikValueChanged" />
                        </telerik:RadNumericTextBox>
                        <span class="errorText" style="display: none">*NOT UNIQUE*</span>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
            </Columns>
        </MasterTableView>
    </telerik:RadGrid>
</div>


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
 
        var data = new List<object>();
        for (int i = 0; i < 1000; i++)
        {
            data.Add(new {Cow_Id = i, Cow_EID = i,cow_LifeId = i, Cow_VID = i});
        }
 
        TGrid.DataSource = data;
 
    }
 
    protected void RadGrid1_PreRender(object sender, EventArgs e)
    {
        foreach (GridItem item in TGrid.MasterTableView.Items)
        {
            if (item is GridEditableItem)
            {
                GridEditableItem editableItem = item as GridDataItem;
                editableItem.Edit = true;
            }
        }
        TGrid.Rebind();           
    }
}

Running the code shows the editable column correctly, however changing the page size doesn't work as expected.  Paging however seems to work fine.

If I comment out  TGrid.Rebind();, or editableItem.Edit = true; then changing the page size works as expected, but then the column is not editable.  Any thoughts?

Thanks in advance.
Jayesh Goyani
Top achievements
Rank 2
 answered on 26 Sep 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?