Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
187 views

[NullReferenceException: 未将对象引用设置到对象的实例。] Telerik.Web.UI.Grid.Export.TableViewExporter.ExcelExportRenderForm(HtmlTextWriter nullWriter, Control form) +2339 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +116 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +130 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +46 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +78 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +49 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +116 System.Web.UI.Page.Render(HtmlTextWriter writer) +38 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +78 Telerik.Web.UI.RadAjaxControl.RenderPageInAjaxMode(HtmlTextWriter writer, Control page) +952 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +116 System.Web.UI.Page.Render(HtmlTextWriter writer) +38 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +78 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8752

 

  <telerik:RadGrid ID="rgvAccountConfim" runat="server" AllowMultiRowSelection="true"
                        MasterTableView-ShowHeadersWhenNoRecords="true" ShowFooter="true"   Skin="Web20"  
                        HeaderStyle-HorizontalAlign="Center" OnItemDataBound="RadGridHospital_ItemDataBound">
                        <MasterTableView AutoGenerateColumns="False" AllowNaturalSort="false" 
                            DataKeyNames="MoneyConfirmListID,CusName,ReceiveMoneyPlanID,OrderCode,ListCode,ReceivePrice,CusReceivable,CusInvoiceReceivable,bizType"
                            ClientDataKeyNames="MoneyConfirmListID" CommandItemDisplay="None">
                            <NoRecordsTemplate>
                                没有符合条件的记录。</NoRecordsTemplate>
                            <Columns>
                                <telerik:GridClientSelectColumn UniqueName="Row" HeaderStyle-Width="30" ItemStyle-HorizontalAlign="Center">
                                </telerik:GridClientSelectColumn>
                                <telerik:GridBoundColumn DataField="DepDistrictName" HeaderText="销售区域" ReadOnly="true"
                                    UniqueName="DepDistrictName" HeaderStyle-Width="120" />
                                <telerik:GridBoundColumn DataField="SaleUserName" HeaderText="销售人员" ReadOnly="true"
                                    UniqueName="SaleUserName" HeaderStyle-Width="70" />
                                <telerik:GridBoundColumn DataField="CusName" HeaderText="客户名称" ReadOnly="true" UniqueName="CusName"
                                    HeaderStyle-Width="180" />
                                <telerik:GridBoundColumn DataField="LinkmanName" HeaderText="主联系人" ReadOnly="true"
                                    UniqueName="LinkmanName" HeaderStyle-Width="70" />
                                  <telerik:GridBoundColumn DataField="DataDicDetailIValue" HeaderText="回款方式" ReadOnly="true"
                                    UniqueName="DataDicDetailIValue" HeaderStyle-Width="100" />
                                <telerik:GridBoundColumn DataField="CusReceivable" HeaderText="发货应收款(元)" ReadOnly="true"
                                    UniqueName="CusReceivable" HeaderStyle-Width="120" ItemStyle-HorizontalAlign="Right" />
                                <telerik:GridBoundColumn DataField="CusInvoiceReceivable" HeaderText="开票应收款(元)" ReadOnly="true"
                                    UniqueName="CusInvoiceReceivable" HeaderStyle-Width="120" ItemStyle-HorizontalAlign="Right" Display="false" />
                                <telerik:GridBoundColumn DataField="ReceivePrice" HeaderText="本次收款(元)" ReadOnly="true"
                                    UniqueName="ReceivePrice" HeaderStyle-Width="120" ItemStyle-HorizontalAlign="Right" />
                                 <telerik:GridBoundColumn DataField="SumbillingPrice" HeaderText="税金(元)" ReadOnly="true"
                                        UniqueName="SumbillingPrice" HeaderStyle-Width="100" ItemStyle-HorizontalAlign="Right" />
                                <telerik:GridTemplateColumn HeaderText="相关订单" HeaderStyle-Width="80" ReadOnly="true">
                                    <ItemTemplate>
                                        <asp:LinkButton ID="linkOrderCode" runat="server" Text='<%# Eval("OrderCode")%>'></asp:LinkButton>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="ReceiveDate" HeaderText="提交日期" ReadOnly="true"
                                    SortExpression="ReceiveDate" UniqueName="ReceiveDate" HeaderStyle-Width="80"
                                    DataFormatString="{0:yyyy-MM-dd}" />
                                <telerik:GridBoundColumn DataField="Description" HeaderText="提交人" ReadOnly="true"
                                    UniqueName="Description" HeaderStyle-Width="70" Display="false" />
                                <telerik:GridBoundColumn DataField="ReceiveRemark" HeaderText="备注" ReadOnly="true"
                                    UniqueName="ReceiveRemark" HeaderStyle-Width="200" />
                                <telerik:GridTemplateColumn HeaderText="状态" HeaderStyle-Width="60">
                                    <ItemTemplate>
                                        <asp:Label ID="lblInPrice" runat="server" Text='<%#GetState(Eval("IsState").ToString())%>'></asp:Label>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="ConfirmUserName" HeaderText="确认人" ReadOnly="true"
                                    UniqueName="ConfirmUserName" HeaderStyle-Width="120" Display="false" />
                                <telerik:GridTemplateColumn HeaderText="操作" HeaderStyle-Width="170" UniqueName="Confirm">
                                    <ItemTemplate>
                                        <input type="button" id="lbtnConfirm" runat="server"   class ="btn_radgrid_shoukuanqueren" />
                                         <input id="btnPayConfirm" type="button" runat="server" class="greenButtonCss" value="打印收款单"
                                     title="打印收款单" />
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridTemplateColumn HeaderText="回款类型" HeaderStyle-Width="80">
                                    <ItemTemplate>
                                        <asp:Label ID="lblIsRight" runat="server" Text='<%#GetArriveState(Eval("IsRight").ToString())%>'></asp:Label>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="DepositaryBank" HeaderText="开户银行" ReadOnly="true"
                                    UniqueName="DepositaryBank" HeaderStyle-Width="125"  />
                                <telerik:GridBoundColumn DataField="BankAccountNumber" HeaderText="开户行帐号" ReadOnly="true"
                                    UniqueName="BankAccountNumber" HeaderStyle-Width="135"  />
                                <telerik:GridBoundColumn DataField="PayeeName" HeaderText="收款人姓名" ReadOnly="true"
                                    UniqueName="PayeeName" HeaderStyle-Width="120"  />   
                                <%--<telerik:GridBoundColumn DataField="BizType" HeaderText ="收款类型" HeaderStyle-Width="80" ></telerik:GridBoundColumn>  --%>                        
                            </Columns>
                        </MasterTableView>  <headerstyle horizontalalign="Center" Wrap="false" />
                         <ClientSettings AllowColumnsReorder="true"  ReorderColumnsOnClient="true" ClientMessages-DragToGroupOrReorder="拖动调整列显示顺序" ClientMessages-DragToResize="拖动调整列宽" >
                            <Selecting AllowRowSelect="true" EnableDragToSelectRows="false" />
                            <ClientEvents OnRowSelected="GridRowClick" />
                            <Scrolling AllowScroll="true" UseStaticHeaders="true" ScrollHeight="200" />
                        <Resizing   EnableRealTimeResize="True" ResizeGridOnColumnResize="True"  AllowColumnResize="True"></Resizing> </ClientSettings>
                    </telerik:RadGrid>

 

protected void btnExport_Click(object sender, EventArgs e)
        {
            rgvAccountConfim.ExportSettings.Excel.Format = (GridExcelExportFormat)Enum.Parse(typeof(GridExcelExportFormat), "Xlsx");
            rgvAccountConfim.ExportSettings.ExportOnlyData = true;
            rgvAccountConfim.ExportSettings.OpenInNewWindow = true;
            rgvAccountConfim.MasterTableView.GetColumn("Confirm").Display = false;
            rgvAccountConfim.MasterTableView.GetColumn("Row").Display = false;
            rgvAccountConfim.MasterTableView.ExportToExcel();
           
        }

gao
Top achievements
Rank 1
 answered on 06 Jun 2018
2 answers
151 views

Hello Everyone,

Really weird situation I'm experiencing right now. I've got a Radgrid with batch edit enabled. Updating data works fine, until I apply DataFormatString="{0:P2}" on certain columns. When that is applied, all columns with that same format get updated as well by a multiple of 100 if they have a non 0 value to start. 

Attached are screenshots of what is happening. In screenshot 1,I changed a column on the first row from having a value of 16.7% to 5%. In screenshot 2 you can see a value in another column on the same row, one that I did not update, multiply itself by 100. Again, without the data format string, the updating works as expected (only what I update physically gets updated).

I am using Sqldatasource to query for and update this data.

Anyone else have an explanation as to why this is happening?

 

Thanks

 

Jessie
Top achievements
Rank 1
 answered on 05 Jun 2018
0 answers
74 views

Hi, 

I'm using a radWindow that opens when I click my export to excel link on an aspx page. The Export to Excel link is working fine when I use IE and Firefox but when it comes to Chrome, I have to click multiple times just to get the link working. Below is my code

==========================================================================

function GetRadWindow() {
            var oWindow = null;
            if (window.radWindow) oWindow = window.radWindow;
            return oWindow;
        }

==========================================================================

if (args != 'ExportContract') {
                 var displayResultOnNewTab = window.open(targetURL, "_blank");
            }
            else {
                var oWnd = GetRadWindow();
                if (oWnd != null) { oWnd.close();}

                var wnd = radopen(targetURL, null);
                wnd.restore();
                var viewPortHeight = document.body.clientHeight;
                var viewPortWidth = document.body.clientWidth;
                wnd.set_modal = true;
             //   wnd.maximize();
                wnd.setSize(200, 200);
                wnd.center();
            }
            return false;

==========================================================================

Help please and thank you!

William
Top achievements
Rank 1
 asked on 05 Jun 2018
14 answers
1.4K+ views
I've installed Visual Studio 2015 Professional and I'm trying to get Telerik items in the Toolbox.  I've tried installing it using the MSI file, the Telerik Control Centre, the Telerik Toolbox Configurator in the VS and so far, nothing.  I've followed the instructions for creating a tab in the toolbox and adding the items manually, but when I go to check off the Telerik items, they're already checked off.  I've rebooted, reinstalled and even changed versions from Visual Studio 2015 Community to Visual Studio 2015 Professional.

Gettin' kinda ticked about it, now.  Anybody have any thoughts?
Clive Hoggar
Top achievements
Rank 1
 answered on 05 Jun 2018
3 answers
253 views
I am fairly new to telerik control and have an issue with radgrid.  I have a radgrid that has a master and a detail table.  If I try to use the "Aggregate" to sum the columns in the footer it give me the total for the complete data source for the details table.  I would like it to only display the total for the master table item is expanded.  I have attached an image that shows the current behavior.  Any help in getting me moving in the right direction would be great.  
Eyup
Telerik team
 answered on 05 Jun 2018
1 answer
63 views

Hi,

We are binding RadGrid on Client using RadClientDataSource. The grid has template columns with links. When link is clicked, we want itemcommand event to get fired on server side. Here we want to access row data and manipulate data. Since it is clientbound, we are not able to access row data. What is the best way to take care of it so that entire row data is available to us on server side.

We used to bind the grid on server side. It was very slow. So, we switched to clientside binding which is very fast. But lot of logic happens on server side.

I can use hidden fields and on client get values and use them. We are trying to avoid it because we use this grid on many pages and trying to come up with global solution.

Eyup
Telerik team
 answered on 05 Jun 2018
2 answers
162 views

I'm using pasteHtml to insert some html into the editor and, the style tag is being changed from what the pasteHtml is given.

 

I'm using the following command:

editor.pasteHtml(String.format("<input id='{0}__btn__' value='Go' onclick='return isValidEncounter(this)' style='border:none; color: #FF0000; text-decoration:underline; text-align: center' size='1' title='Validate encounter number'>", args.ID))

 

Notice the style has the border set to none.

Unfortunately, the following is the result after the pasteHtml command (as viewed in the HTML mode of the editor and as the final rendered html when inspecting in IE)

<input title="Validate encounter number" id="asdf__btn__" style="border: currentColor; border-image: none; text-align: center; color: #ff0000; text-decoration: underline;" onclick="return isValidEncounter(this)" size="1" value="Go" />

 

Now the border is set to currentColor and a border-image attribute has been added.  This doesn't render correctly in IE (I see a border around it). 

 

Is there any way to simply have pasteHtml not alter the HTML style tag given to it?

Jim
Top achievements
Rank 1
 answered on 04 Jun 2018
0 answers
84 views

Using the MyPortal Demo as a reference, a raddock is dynamically created from a button click. Inside this raddock it has a 'Run' button which when clicked runs an .exe file and creates another RadDock dynamically by loading a usercontrol  used to displays the run results on the docking zone. The result is displayed as Ragrid records. The issue is that I am not able to filter, sort or do paging on this radgrid. Is there a solution for this?? 

I have a screenshot of the scenario below. Kindly provide me a solution. Thanks

 

Meena
Top achievements
Rank 1
 asked on 04 Jun 2018
0 answers
146 views

Greetings, 

        I am trying to implement the RadDock functionality in example similar to the "MyPortal" Demo . The language used is C#. I follow the same way as shown in the demo except for the part that instead of populating the usercontrols in the dropdown and clicking the 'Add Dock' button to add the dock to the dockzone , I use seperate buttons and  on clicking each button it loads respective user control to  RadDock control and displays it. Each control has a Radgrid inside that displays different data. 

While opening/closing the raddocks after a point it throws an error such as 'Failed to load viewstate' error . Is there a way to rectify it ?? Since there are controls such as dropdown, radgird which also initiates a postback , I cant set the EnableViewState=false for each page as well. 

Also , in the demo Session is used to save/load the raddockstates . How to save and reload these states using database. Can you provide me with an example ? I did search on other forum posts regarding the raddock state persistance , where I see that the states are being only updated or loaded but not inserted so I am not sure how to insert , update and select the rad dock states from the database without having the above mentioned error. Kindly help me asap as its very urgent.

Below attached image shows how my page look like and the c# code is pasted as well. 

        private List<DockState> CurrentDockStates
        {
            get
            {
                List<DockState> _currentDockStates = (List<DockState>)Session["CurrentDockStatesDynamicDocks"];
                if (Object.Equals(_currentDockStates, null))
                {
                    _currentDockStates = new List<DockState>();
                    Session["CurrentDockStatesDynamicDocks"] = _currentDockStates;
                }
                return _currentDockStates;
            }
            set
            {
                Session["CurrentDockStatesDynamicDocks"] = value;
            }
        }

        public ArrayList GetZones()
        {
            ArrayList zones = new ArrayList();
            zones.Add(RadDockZone1);
            //zones.Add(RadDockZone2);

            return zones;
        }

   
        private void Page_Init(object sender, EventArgs e)
        {
                  for (int i = 0; i < CurrentDockStates.Count; i++)
            {
                // clears the closed docks from the dock state, this line is 
                // optional and its purpose is to keep the dock state as small 
                // as possible
                if (CurrentDockStates[i].Closed == true) continue;

                RadDock dock = CreateRadDockFromState(CurrentDockStates[i]);
                //We will just add the RadDock control to the RadDockLayout.
                // You could use any other control for that purpose, just ensure
                // that it is inside the RadDockLayout control.
                // The RadDockLayout control will automatically move the RadDock
                // controls to their corresponding zone in the LoadDockLayout
                // event (see below).
                RadDockLayout1.Controls.Add(dock);
                //We want to save the dock state every time a dock is moved.
                CreateSaveStateTrigger(dock);
                //Load the selected widget
                LoadWidget(dock);

                // prevents the rendering of closed docks, used for improving 
                // performance
                if (CurrentDockStates[i].Closed == true)
                {
                    dock.Visible = false;
                }
            }

            //UpdatePanel2.Triggers.Add(new PostBackTrigger() { ControlID = rdbAddEqpgSettings.UniqueID });
            //UpdatePanel2.Triggers.Add(new PostBackTrigger() { ControlID = rdbAddEqpgConstraints.UniqueID });
            //UpdatePanel2.Triggers.Add(new PostBackTrigger() { ControlID = rdbViewInputDetails.UniqueID });

            UpdatePanel2.Triggers.Add(new PostBackTrigger() { ControlID = rdbViewResults.UniqueID });
            UpdatePanel2.Triggers.Add(new PostBackTrigger() { ControlID = rdbResultHistory.UniqueID });
            Updat
        }

private RadDock CreateRadDockFromState(DockState state)
        {
            RadDock dock = new RadDock();
            dock.DockMode = DockMode.Docked;
            dock.ID = string.Format("RadDock{0}", state.UniqueName);
            dock.ApplyState(state);
            dock.Commands.Add(new DockCloseCommand());
            dock.Commands.Add(new DockExpandCollapseCommand());

            return dock;
        }
        private RadDock CreateRadDock(string title)
        {
         RadDock dock = new RadDock();
            dock.DockMode = DockMode.Docked;
            dock.UniqueName = Guid.NewGuid().ToString().Replace("-", "a");
            dock.ID = string.Format("RadDock{0}", dock.UniqueName);
            dock.Title = "Dock";
            dock.Text = string.Format("Added at {0}", DateTime.Now);
            dock.Width = Unit.Pixel(300);

            dock.Commands.Add(new DockCloseCommand());
            dock.Commands.Add(new DockExpandCollapseCommand());

            return dock;
        }

          
 
        private void CreateSaveStateTrigger(RadDock dock)
        {
            //Ensure that the RadDock control will initiate postback
            // when its position changes on the client or any of the commands is clicked.
            //Using the trigger we will "ajaxify" that postback.
            dock.AutoPostBack = true;
            dock.CommandsAutoPostBack = true;

            AsyncPostBackTrigger saveStateTrigger = new AsyncPostBackTrigger();
            saveStateTrigger.ControlID = dock.ID;
            saveStateTrigger.EventName = "DockPositionChanged";
            UpdatePanel1.Triggers.Add(saveStateTrigger);

            saveStateTrigger = new AsyncPostBackTrigger();
            saveStateTrigger.ControlID = dock.ID;
            saveStateTrigger.EventName = "Command";
            UpdatePanel1.Triggers.Add(saveStateTrigger);
        }

        private void LoadWidget(RadDock dock)
        {
            if (string.IsNullOrEmpty(dock.Tag) || dock.Closed)
            {
                return;
            }
            switch (dock.Tag)
            {
                case "EquipmentGroupConstraintsForm.ascx":
                    {
                        Control widget = LoadControl("~/Main/UserControls/EquipmentGroupConstraintsForm.ascx");
                        dock.ContentContainer.Controls.Add(widget);
                    }
                    break;
                case "EquipmentGroupSettingsForm.ascx":
                    {
                        Control widget = LoadControl("~/Main/UserControls/EquipmentGroupSettingsForm.ascx");
                        dock.ContentContainer.Controls.Add(widget);
                    }
                    break;
                case "InputDetailsForm.ascx":
                    {
                        Control widget = LoadControl("~/Main/UserControls/InputDetailsForm.ascx");
                        dock.ContentContainer.Controls.Add(widget);
                    }
                    break;
                case "ResultDetails.ascx":
                    {
                         Control widget = LoadControl("~/Main/UserControls/ResultDetails.ascx");
                         dock.Width = Unit.Pixel(1331);
                        dock.ContentContainer.Controls.Add(widget);
                    }
                    break;
                case "ExpResultHistory.ascx":
                    {
                        dock.Width = Unit.Pixel(1320);
                        Control widget = LoadControl("~/Main/UserControls/ExpResultHistory.ascx");
                        dock.ContentContainer.Controls.Add(widget);
                    }
                    break;
            }

        }

        protected void RadDockLayout1_SaveDockLayout(object sender, DockLayoutEventArgs e)
        {
            CurrentDockStates = RadDockLayout1.GetRegisteredDocksState();
        }

        protected void RadDockLayout1_LoadDockLayout(object sender, DockLayoutEventArgs e)
        {
            foreach (DockState state in CurrentDockStates)
            {
                e.Positions[state.UniqueName] = state.DockZoneID;
                e.Indices[state.UniqueName] = state.Index;
            }
        }

        protected void rdbAddEqpgSettings_Click(object sender, EventArgs e)
        {
            RadDock dock = CreateRadDock("Create Equipment Group Settings");
            RadDockZone dz = (RadDockZone)this.Master.FindControl("ContentPlaceholder1").FindControl("RadDockZone1");
            dock.Index = 0;
            RadDockLayout1.Controls.Add(dock);
            dock.Dock(dz);

            CreateSaveStateTrigger(dock);
            dock.Closed = false;

            dock.Tag = "EquipmentGroupSettingsForm.ascx";
            LoadWidget(dock);

        }

        protected void rdbAddEqpgConstraints_Click(object sender, EventArgs e)
        {
            RadDock dock = CreateRadDock("Create Equipment Group Constraints");
            RadDockZone dz = (RadDockZone)this.Master.FindControl("ContentPlaceholder1").FindControl("RadDockZone1");
            dock.Index = 0;
            RadDockLayout1.Controls.Add(dock);
            dock.Dock(dz);

            CreateSaveStateTrigger(dock);
            dock.Closed = false;

            dock.Tag = "EquipmentGroupConstraintsForm.ascx";
            LoadWidget(dock);
          
        }

        protected void rdbViewInputDetails_Click(object sender, EventArgs e)
        {
            //rdbViewInputDetails.Enabled = false;
            //UpdatePanel2.Update();

            RadDock dock = CreateRadDock("View Input Details");
            RadDockZone dz = (RadDockZone)this.Master.FindControl("ContentPlaceholder1").FindControl("RadDockZone1");
            dock.Index = 0;
            RadDockLayout1.Controls.Add(dock);
            dock.Dock(dz);

            CreateSaveStateTrigger(dock);
            dock.Closed = false;

            dock.Tag = "InputDetailsForm.ascx";
            LoadWidget(dock);
        }

        protected void rdbViewResults_Click(object sender, EventArgs e)
        {
            RadDock dock = CreateRadDock("View Result Details");
            RadDockZone dz = (RadDockZone)this.Master.FindControl("ContentPlaceholder1").FindControl("RadDockZone1");
            dock.Index = 0;
            RadDockLayout1.Controls.Add(dock);
            dock.Dock(dz);

            CreateSaveStateTrigger(dock);
            dock.Closed = false;

            dock.Tag = "ResultDetails.ascx";
            LoadWidget(dock);
        }

        protected void rdbResultHistory_Click(object sender, EventArgs e)
        {
            RadDock dock = CreateRadDock("Result History");
            RadDockZone dz = (RadDockZone)this.Master.FindControl("ContentPlaceholder1").FindControl("RadDockZone1");
            dock.Index = 0;
            RadDockLayout1.Controls.Add(dock);
            dock.Dock(dz);

            CreateSaveStateTrigger(dock);
            dock.Closed = false;

            dock.Tag = "ExpResultHistory.ascx";
            LoadWidget(dock);

        }
    }
}

Thanks and Regards, 

Meena

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Meena
Top achievements
Rank 1
 asked on 04 Jun 2018
6 answers
118 views
Hi,

I couldn't achieve of exporting a pdf file with my web service binding scheduler.

Isn't it possible?

I would like to know whether it is possible to do it with a JS code in my aspx page. If it doesn't work, I don't have any binding criteria in my back end code. How could be possible to do that ?

thank you
Marin Bratanov
Telerik team
 answered on 04 Jun 2018
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?