Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
340 views
Hi,

I have a TreeList display data. On a item select (or whatever) I want to get some data on the selected item. I have the following:

function ItemSelected(sender, args) {
               var treelist = $find("<%= radTreeList.ClientID %>");
               var selectedIndexes = treelist.get_selectedIndexes();
                 
               var row = selectedIndexes[0];
               var item = treelist.getItem(row);

which give me back the selected item. How do I get specific information from this. i.e. if I have a column called 'Name'?

Thanks
tim
Top achievements
Rank 1
 answered on 24 Feb 2011
1 answer
103 views
Hi
I am trying to create controls inside an RadPanelItem.
With deactivated ajax is working fine but with Ajax it creates only some of controls .
With Ajax it creates only Labels and RadNumerictextBoxes.RadSliders and the Table inside RadWindow are not created. 

Thanks,
 
Here my ASP:
<telerik:RadPanelItem runat="server" 
            Text="Please choose the respective customer order number for which you want to change the Purchase Order" 
            Visible="False">
            <ContentTemplate>
                <table width="100%">
                <tr>
                <td width = "139px">
                <asp:Label ID="Label1" runat="server" ForeColor="White" 
        Text="Customer order number:" style="background-color: #333333"></asp:Label>
                </td
                <td>
                <telerik:RadComboBox runat="server" ID="RadComboBox1" EnableLoadOnDemand="true" 
                    DataTextField ="CST_ORDER_" OnItemsRequested="RadComboBox1_ItemsRequested" 
                    Height="190px" Width="420px" HighlightTemplatedItems="true" 
                    ShowMoreResultsBox="true" EmptyMessage="Type here or search in list..." 
                    Skin="Black" >
                    <HeaderTemplate>
                    <ul>
                    <li class="col1">Factory</li>
                    <li class="col2">Customer Order No.</li>
                    <li class="col3">Customer Req. Date</li>
                      
                    </ul>
                    </HeaderTemplate>
                    <ItemTemplate>
                      
                    <ul>
                     
                    <li class="col1"><telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"><%#Eval("FCT_LINE") %></telerik:RadCodeBlock></li>
                    <li class="col2">
                      <telerik:RadCodeBlock ID="RadCodeBlock2" 
                            runat="server"><%#Eval("CST_ORDER_") %></telerik:RadCodeBlock></li>
                            <li class="col3"><telerik:RadCodeBlock ID="RadCodeBlock3" 
                            runat="server"><%#Eval("CRD") %></telerik:RadCodeBlock></li>
                    </ul>
                     </ItemTemplate>
            </telerik:RadComboBox>
                </td
                </tr>
                <tr>
                <td>
                <telerik:RadButton runat="server"  Skin="Black" Text="Submit" 
                ID="Submit_Button1" Width="150px" onclick="Submit_Button1_Click" AutoPostBack="true" ></telerik:RadButton>
                <telerik:RadButton runat="server"  Skin="Black" Text="Cancel" 
                ID="Cancel_Button1" OnClick="CancelClick" Width="150px"></telerik:RadButton></td>
               </tr>
                </table>
             </ContentTemplate>
        </telerik:RadPanelItem>
          
        <telerik:RadPanelItem runat="server" Value="Item1"
            Text="Please change sizerun for the following Purchase Order" Visible="False" ViewStateMode="Enabled">
            <ContentTemplate>
             <asp:Table runat="server" ID="Table1"></asp:Table>
               
              
                <telerik:RadButton ID="Step2_OK" runat="server" OnClientClicked="OpenWin" AutoPostBack="false" Skin="Black" Text= "Submit changes">
  
                </telerik:RadButton>
                <telerik:RadButton ID="Step2_Back" runat="server">
                </telerik:RadButton>
                <telerik:RadButton ID="Step2_Cancel" runat="server">
                </telerik:RadButton>
            </ContentTemplate>
        </telerik:RadPanelItem>

Here C Code to create controls:
protected void CreateTable(object sender, EventArgs e)
        {
            var ItemNumberString = RadComboBox1.Text;
            /// read PO Quantities and PO Size Names.
            var query = from p in db.View_PO_Value_Range_olds
                        where p.CST_ORDER_.Equals(ItemNumberString)
                        orderby p.SizeOrder
                        select p;
            /// read  Corresponding size unit.
            var query1 = from p in db.PurchaseOrders
                         where p.CST_ORDER_.Equals(ItemNumberString)
                         select p;
            var item = query1.First();
            var ItemInt = item.SizeUnitID;
            string ItemString = Convert.ToString(ItemInt);
  
              
            Table tableconf = TableConfirmation;
            Table table = Table1 ;
            RadSlider[] slider = new RadSlider[25];
            TableCell[] cells = new TableCell[25];
            Label[] labels = new Label[25];
            TableRow[] rows = new TableRow[25];
            RadNumericTextBox[] textbox = new RadNumericTextBox[15];
            //Create the SliderTable 
            /// Row: Corresponding size unit.
  
            labels[0] = new Label();
            labels[0].Text = "Coresponding Size Unit:";
            cells[0] = new TableCell();
            cells[0].Controls.Add(labels[0]);
            rows[0] = new TableRow();
            rows[0].Cells.Add(cells[0]);
  
            labels[1] = new Label();
            labels[1].Text = ItemString;
            cells[1] = new TableCell();
            cells[1].Controls.Add(labels[1]);
            rows[0].Cells.Add(cells[1]);
  
            table.Rows.Add(rows[0]);
              
            /// Row:Table header.
            /// 
            labels[2] = new Label();
            labels[2].Text = "Size";
            cells[2] = new TableCell();
            cells[2].Controls.Add(labels[2]);
            labels[3] = new Label();
            labels[3].Text = "original qty";
            cells[3] = new TableCell();
            cells[3].Controls.Add(labels[3]);
            labels[4] = new Label();
            labels[4].Text = "new qty";
            cells[4] = new TableCell();
            cells[4].Controls.Add(labels[4]);
            rows[1] = new TableRow();
            rows[1].Cells.Add(cells[2]);
            rows[1].Cells.Add(cells[3]);
            rows[1].Cells.Add(cells[4]);
            table.Rows.Add(rows[1]);
  
            //Create ConfirmationTable static content.
            labels[6] = new Label();
            labels[6].Text = "Coresponding Size Unit:";
            cells[9] = new TableCell();
            cells[9].Controls.Add(labels[6]);
            rows[3] = new TableRow();
            rows[3].Cells.Add(cells[9]);
  
            labels[7] = new Label();
            labels[7].Text = ItemString;
            cells[9] = new TableCell();
            cells[9].Controls.Add(labels[7]);
            rows[3].Cells.Add(cells[9]);
  
            tableconf.Rows.Add(rows[3]);
  
            /// Row:Table header.
            /// 
            labels[8] = new Label();
            labels[8].Text = "Size";
            cells[10] = new TableCell();
            cells[10].Controls.Add(labels[8]);
            labels[9] = new Label();
            labels[9].Text = "original qty";
            cells[11] = new TableCell();
            cells[11].Controls.Add(labels[9]);
            labels[10] = new Label();
            labels[10].Text = "new qty";
            cells[12] = new TableCell();
            cells[12].Controls.Add(labels[10]);
            rows[4] = new TableRow();
            rows[4].Cells.Add(cells[10]);
            rows[4].Cells.Add(cells[11]);
            rows[4].Cells.Add(cells[12]);
            tableconf.Rows.Add(rows[4]);
  
            // foreach SizeRun create a Row in table
            foreach (var size in query)
            {
                string szor = size.SizeOrder.ToString();
                string POValueString = Convert.ToString(size.POValue);
                decimal POValueDec = Convert.ToDecimal(size.POValue);
                double PONewValue = Convert.ToDouble(size.PONewValue);
                ///create dinamic rows in SliderTable.
                  
                labels[5] = new Label();
                labels[5].Text = size.Size; labels[5].ID = "LabelSizeRuns_" + size.SizeOrder;
                cells[5] = new TableCell();
                cells[5].Controls.Add(labels[5]);
                rows[2] = new TableRow();
                rows[2].Cells.Add(cells[5]);
  
                labels[6] = new Label();
                labels[6].Text = POValueString; labels[6].ID = "LabelSizeRuns1_" + size.SizeOrder;
                cells[6] = new TableCell();
                cells[6].Controls.Add(labels[6]);
                rows[2].Cells.Add(cells[6]);
  
                RadNumericTextBox text = new RadNumericTextBox();
                textbox[0] = new RadNumericTextBox();
                textbox[0].Type = NumericType.Number;
                textbox[0].MaxLength = 30000;
                textbox[0].MinValue = 0;
                textbox[0].MaxValue = 1000;
                textbox[0].Width = 100;
                textbox[0].Height = 20;
                textbox[0].Visible = true;
                textbox[0].Skin = "Black";
                textbox[0].ID = "RadTextBox_" + size.SizeOrder;
                textbox[0].Value = PONewValue;
                textbox[0].ClientEvents.OnValueChanged = "TextBoxValueChanged";
                //textbox[0].TextChanged += new EventHandler(RadNumericBox_Changed);
               // textbox[0].AutoPostBack = true;
                slider[0] = new RadSlider();
                slider[0].ID = "RadSlider_" + size.SizeOrder;
                slider[0].Value = int.Parse(POValueString);
                slider[0].Width = 400;
                slider[0].ItemType = SliderItemType.Tick;
                slider[0].TrackPosition = SliderTrackPosition.TopLeft;
                slider[0].MaximumValue = 10;
                slider[0].MinimumValue = 0;
                slider[0].Skin = "Black";
                slider[0].SmallChange = 1;
                slider[0].OnClientValueChanged = "SliderValueChanged";
                  
  
                cells[7] = new TableCell();
                cells[7].Controls.Add(textbox[0]);
                rows[2].Cells.Add(cells[7]);
  
                cells[8] = new TableCell();
                cells[8].Controls.Add(slider[0]);
                rows[2].Cells.Add(cells[8]);
  
                table.Rows.Add(rows[2]);
  
                /// Create Confirmationtable Dinamic content.
  
                labels[11] = new Label();
                labels[11].Text = size.Size; labels[11].ID = "LabelSizeRuns_" + size.SizeOrder;
                cells[13] = new TableCell();
                cells[13].Controls.Add(labels[11]);
                rows[5] = new TableRow();
                rows[5].Cells.Add(cells[13]);
  
                labels[12] = new Label();
                labels[12].Text = POValueString; labels[12].ID = "LabelSizeRuns1_" + size.SizeOrder;
                cells[14] = new TableCell();
                cells[14].Controls.Add(labels[12]);
                rows[5].Cells.Add(cells[14]);
  
                labels[13] = new Label();
                labels[13].Text = POValueString; labels[13].ID = "LabelNewSizes_" + size.SizeOrder;
                cells[15] = new TableCell();
                cells[15].Controls.Add(labels[13]);
                rows[5].Cells.Add(cells[15]);
  
                tableconf.Rows.Add(rows[5]);
            }
  
        }
  
protected void CreateGeneralPOInformation(object sender, EventArgs e)
        {
            // Read PONumber
            var PONumberString = RadComboBox1.Text;
            var query = from p in db.View_PO_General_Informations
                        where p.CST_ORDER_.Equals(PONumberString)
                        select p;
            var order = query.First();
            Table table = PODetailsConfirmationTable;
  
            TableCell[] cells = new TableCell[26];
            Label[] labels = new Label[26];
            TableRow[] rows = new TableRow[13];
            RadButton[] buttons = new RadButton[3];
  
            labels[0] = new Label();
            labels[0].Text = "Purchase Order Number:";
            cells[0] = new TableCell();
            cells[0].Controls.Add(labels[0]);
  
            labels[1] = new Label();
            labels[1].Text = order.PO_ORDER_N;
            cells[1] = new TableCell();
            cells[1].Controls.Add(labels[1]);
  
            rows[0] = new TableRow();
            rows[0].Cells.Add(cells[0]);
            rows[0].Cells.Add(cells[1]);
  
            labels[2] = new Label();
            labels[2].Text = "Client Number:";
            cells[2] = new TableCell();
            cells[2].Controls.Add(labels[2]);
  
            labels[3] = new Label();
            labels[3].Text = order.CLIENT_NO;
            cells[3] = new TableCell();
            cells[3].Controls.Add(labels[3]);
  
            rows[1] = new TableRow();
            rows[1].Cells.Add(cells[2]);
            rows[1].Cells.Add(cells[3]);
  
            labels[4] = new Label();
            labels[4].Text = "Order quantity:";
            cells[4] = new TableCell();
            cells[4].Controls.Add(labels[4]);
  
            labels[5] = new Label();
            labels[5].Text = order.ORDER_QTY.ToString();
            cells[5] = new TableCell();
            cells[5].Controls.Add(labels[5]);
  
            rows[2] = new TableRow();
            rows[2].Cells.Add(cells[4]);
            rows[2].Cells.Add(cells[5]);
  
            labels[6] = new Label();
            labels[6].Text = "Customer number:";
            cells[6] = new TableCell();
            cells[6].Controls.Add(labels[6]);
  
            labels[7] = new Label();
            labels[7].Text = order.CUSTOMER.ToString();
            cells[7] = new TableCell();
            cells[7].Controls.Add(labels[7]);
  
            rows[3] = new TableRow();
            rows[3].Cells.Add(cells[6]);
            rows[3].Cells.Add(cells[7]);
  
            labels[8] = new Label();
            labels[8].Text = "Order status:";
            cells[8] = new TableCell();
            cells[8].Controls.Add(labels[8]);
  
            labels[9] = new Label();
            labels[9].Text = order.STATUS.ToString();
            cells[9] = new TableCell();
            cells[9].Controls.Add(labels[9]);
  
            rows[4] = new TableRow();
            rows[4].Cells.Add(cells[8]);
            rows[4].Cells.Add(cells[9]);
  
            labels[10] = new Label();
            labels[10].Text = "Article number:";
            cells[10] = new TableCell();
            cells[10].Controls.Add(labels[10]);
  
            labels[11] = new Label();
            labels[11].Text = order.ARTICLE_NO.ToString();
            cells[11] = new TableCell();
            cells[11].Controls.Add(labels[11]);
  
            rows[5] = new TableRow();
            rows[5].Cells.Add(cells[10]);
            rows[5].Cells.Add(cells[11]);
  
            labels[12] = new Label();
            labels[12].Text = "IPMT_Work_No:";
            cells[12] = new TableCell();
            cells[12].Controls.Add(labels[12]);
  
            labels[13] = new Label();
            labels[13].Text = order.IPMT_WORK_.ToString();
            cells[13] = new TableCell();
            cells[13].Controls.Add(labels[13]);
  
            rows[6] = new TableRow();
            rows[6].Cells.Add(cells[12]);
            rows[6].Cells.Add(cells[13]);
  
            labels[14] = new Label();
            labels[14].Text = "Sportscode:";
            cells[14] = new TableCell();
            cells[14].Controls.Add(labels[14]);
  
            labels[15] = new Label();
            labels[15].Text = order.SPORTS_COD.ToString();
            cells[15] = new TableCell();
            cells[15].Controls.Add(labels[15]);
  
            rows[7] = new TableRow();
            rows[7].Cells.Add(cells[14]);
            rows[7].Cells.Add(cells[15]);
  
  
            labels[16] = new Label();
            labels[16].Text = "Factory:";
            cells[16] = new TableCell();
            cells[16].Controls.Add(labels[16]);
  
            labels[17] = new Label();
            labels[17].Text = order.FCT_LINE.ToString();
            cells[17] = new TableCell();
            cells[17].Controls.Add(labels[17]);
  
            rows[8] = new TableRow();
            rows[8].Cells.Add(cells[16]);
            rows[8].Cells.Add(cells[17]);
  
            labels[18] = new Label();
            labels[18].Text = "Customer request date:";
            cells[18] = new TableCell();
            cells[18].Controls.Add(labels[18]);
  
            labels[19] = new Label();
            labels[19].Text = order.CRD.ToString();
            cells[19] = new TableCell();
            cells[19].Controls.Add(labels[19]);
  
            rows[9] = new TableRow();
            rows[9].Cells.Add(cells[18]);
            rows[9].Cells.Add(cells[19]);
  
            labels[20] = new Label();
            labels[20].Text = "Statistical delivery date:";
            cells[20] = new TableCell();
            cells[20].Controls.Add(labels[20]);
  
            labels[21] = new Label();
            labels[21].Text = order.PSDD.ToString();
            cells[21] = new TableCell();
            cells[21].Controls.Add(labels[21]);
  
            rows[10] = new TableRow();
            rows[10].Cells.Add(cells[20]);
            rows[10].Cells.Add(cells[21]);
  
            labels[22] = new Label();
            labels[22].Text = "Delivery date:";
            cells[22] = new TableCell();
            cells[22].Controls.Add(labels[22]);
  
            labels[23] = new Label();
            labels[23].Text = order.PODD.ToString();
            cells[23] = new TableCell();
            cells[23].Controls.Add(labels[23]);
  
            rows[11] = new TableRow();
            rows[11].Cells.Add(cells[22]);
            rows[11].Cells.Add(cells[23]);
  
            labels[24] = new Label();
            labels[24].Text = "Liaison Officer contact:";
            cells[24] = new TableCell();
            cells[24].Controls.Add(labels[24]);
  
            labels[25] = new Label();
            labels[25].Text = order.LO_Contact.ToString();
            cells[25] = new TableCell();
            cells[25].Controls.Add(labels[25]);
  
            rows[12] = new TableRow();
            rows[12].Cells.Add(cells[24]);
            rows[12].Cells.Add(cells[25]);
  
            //buttons[0] = new RadButton();
            //buttons[0].Text = "Save";
            //buttons[0].Skin = "Black";
            //buttons[0].
            //cells[26] = new TableCell();
            //cells[26].Controls.Add(buttons[0]);
  
            //buttons[1] = new RadButton();
            //buttons[1].Text = "Cancel";
            //buttons[1].Skin = "Black";
            //cells[27] = new TableCell();
            //cells[27].Controls.Add(buttons[1]);
  
            //rows[12] = new TableRow();
            //rows[12].Cells.Add(cells[24]);
            //rows[12].Cells.Add(cells[25]);
  
            table.Rows.Add(rows[0]);
            table.Rows.Add(rows[1]);
            table.Rows.Add(rows[2]);
            table.Rows.Add(rows[3]);
            table.Rows.Add(rows[4]);
            table.Rows.Add(rows[5]);
            table.Rows.Add(rows[6]);
            table.Rows.Add(rows[7]);
            table.Rows.Add(rows[8]);
            table.Rows.Add(rows[9]);
            table.Rows.Add(rows[10]);
            table.Rows.Add(rows[11]);
            table.Rows.Add(rows[12]);
  
        }
  
protected void Submit_Button1_Click(object sender, EventArgs e)
        {
            CreateTable(sender, e);
            CreateGeneralPOInformation(sender, e);
            PrepareInterface("05");
  
        }
protected void PrepareInterface(string status)
        {
            //Set all items invisible to save code in future.
            SCIWorkflowPanel.Items[0].Visible = false;
            SCIWorkflowPanel.Items[1].Visible = false;
            SCIWorkflowPanel.Items[2].Visible = false;
            SCIWorkflowPanel.Items[3].Visible = false;
            SCIWorkflowPanel.Items[4].Visible = false;
            SCIWorkflowPanel.Items[5].Visible = false;
            SCIWorkflowPanel.Items[6].Visible = false;
            SCIWorkflowPanel.Items[7].Visible = false;
            SCIWorkflowPanel.Items[8].Visible = false;
            SCIWorkflowPanel.Items[9].Visible = false;
            SCIWorkflowPanel.Items[10].Visible = false;
            SCIWorkflowPanel.Items[11].Visible = false;
            SCIWorkflowPanel.Items[12].Visible = false;
            SCIWorkflowPanel.Items[13].Visible = false;
            SCIWorkflowPanel.Items[14].Visible = false;
            SCIWorkflowPanel.Items[15].Visible = false;
            SCIWorkflowPanel.Items[16].Visible = false;
              
  
            //When request comes with status switch cases.
  
            switch (status)
            {    
                case "newRequest":
                    SCIWorkflowPanel.Items[0].Visible = false;
                    SCIWorkflowPanel.Items[1].Visible = true;
                    SCIWorkflowPanel.Items[1].Expanded = true;
                    SCIWorkflowPanel.Items[1].Selected = true;
                    SCIWorkflowPanel.Items[16].Visible = false;
                    SCIWorkflowPanel.Items[15].Visible = false;
                    SCIWorkflowPanel.Items[14].Visible = false;
                    SCIWorkflowPanel.Items[13].Visible = false;
                    SCIWorkflowPanel.Items[12].Visible = false;
                    SCIWorkflowPanel.Items[11].Visible = false;
                    SCIWorkflowPanel.Items[10].Visible = false;
                    SCIWorkflowPanel.Items[9].Visible = false;
                    SCIWorkflowPanel.Items[8].Visible = false;
                    SCIWorkflowPanel.Items[7].Visible = false;
                    SCIWorkflowPanel.Items[6].Visible = false;
                    SCIWorkflowPanel.Items[5].Visible = false;
                    SCIWorkflowPanel.Items[4].Visible = false;
                    SCIWorkflowPanel.Items[3].Visible = false;
                    SCIWorkflowPanel.Items[2].Visible = false;
                    break;
                    // Status: Please enter Factory Details.
                case "00":
                    SCIWorkflowPanel.Items[3].Visible = true;
                    SCIWorkflowPanel.Items[3].Enabled = true;
                    SCIWorkflowPanel.Items[3].Selected = true;
                    SCIWorkflowPanel.Items[3].Expanded = true;
                    SCIWorkflowPanel.Items[8].Visible = true;
                    SCIWorkflowPanel.Items[8].Enabled = true;
                    SCIWorkflowPanel.Items[8].Expanded = true;
                    //RadTabStrip1.Tabs[1].Enabled = true;
                    break;
                    //Status: Please enter factory response.
                case "01":
                    SCIWorkflowPanel.Items[4].Visible = true;
                    SCIWorkflowPanel.Items[4].Enabled = true;
                    SCIWorkflowPanel.Items[4].Selected = true;
                    SCIWorkflowPanel.Items[4].Expanded = true;
                    SCIWorkflowPanel.Items[8].Visible = true;
                    SCIWorkflowPanel.Items[8].Enabled = true;
                    SCIWorkflowPanel.Items[8].Expanded = true;
                    //RadTabStrip1.Tabs[1].Enabled = true;
                    break;
  
                case "02":
                    SCIWorkflowPanel.Items[5].Visible = true;
                    SCIWorkflowPanel.Items[5].Enabled = true;
                    SCIWorkflowPanel.Items[5].Selected = true;
                    SCIWorkflowPanel.Items[5].Expanded = true;
                    SCIWorkflowPanel.Items[8].Visible = true;
                    SCIWorkflowPanel.Items[8].Enabled = true;
                    SCIWorkflowPanel.Items[8].Expanded = true;
                    //RadTabStrip1.Tabs[2].Enabled = true;
                    //RadTabStrip1.Tabs[1].Enabled = true;
  
  
                    break;
                case "03":
                    SCIWorkflowPanel.Items[6].Visible = true;
                    SCIWorkflowPanel.Items[6].Enabled = true;
                    SCIWorkflowPanel.Items[6].Selected = true;
                    SCIWorkflowPanel.Items[6].Expanded = true;
                    SCIWorkflowPanel.Items[8].Visible = true;
                    SCIWorkflowPanel.Items[8].Enabled = true;
                    SCIWorkflowPanel.Items[8].Expanded = true;
                    //RadTabStrip1.Tabs[2].Enabled = true;
                    //RadTabStrip1.Tabs[3].Enabled = true;
                    //RadTabStrip1.Tabs[1].Enabled = true;
  
  
                    break;
                case "04":
                    SCIWorkflowPanel.Items[7].Visible = true;
                    SCIWorkflowPanel.Items[7].Enabled = true;
                    SCIWorkflowPanel.Items[7].Selected = true;
                    SCIWorkflowPanel.Items[7].Expanded = true;
                    SCIWorkflowPanel.Items[8].Visible = true;
                    SCIWorkflowPanel.Items[8].Enabled = true;
                    SCIWorkflowPanel.Items[8].Expanded = true;
                    //RadTabStrip1.Tabs[1].Enabled = true;
                    //RadTabStrip1.Tabs[2].Enabled = true;
                    //RadTabStrip1.Tabs[3].Enabled = true;
  
  
                    break;
                //Request comes without status
                default:
                    SCIWorkflowPanel.Items[0].Visible = true;
                    SCIWorkflowPanel.Items[0].Enabled = true;
                    SCIWorkflowPanel.Items[0].Selected = true;
                    SCIWorkflowPanel.Items[0].Expanded = true;
                    SCIWorkflowPanel.Items[1].Visible = false;
                    SCIWorkflowPanel.Items[2].Visible = false;
                    SCIWorkflowPanel.Items[3].Visible = false;
                    SCIWorkflowPanel.Items[4].Visible = false;
                    SCIWorkflowPanel.Items[5].Visible = false;
                    SCIWorkflowPanel.Items[6].Visible = false;
                    SCIWorkflowPanel.Items[7].Visible = false;
                    SCIWorkflowPanel.Items[8].Visible = false;
                    SCIWorkflowPanel.Items[9].Visible = true;
                    SCIWorkflowPanel.Items[10].Visible = true;
                    SCIWorkflowPanel.Items[11].Visible = true;
                    SCIWorkflowPanel.Items[12].Visible = true;
                    SCIWorkflowPanel.Items[13].Visible = true;
                    SCIWorkflowPanel.Items[14].Visible = true;
                    SCIWorkflowPanel.Items[15].Visible = true;
                    SCIWorkflowPanel.Items[16].Visible = true;
  
                    break;
                case "05":
                    SCIWorkflowPanel.Items[2].Visible = true;
                    SCIWorkflowPanel.Items[2].Enabled = true;
                    SCIWorkflowPanel.Items[2].Selected = true;
                    SCIWorkflowPanel.Items[2].Expanded = true;
                    SCIWorkflowPanel.Items[8].Visible = true;
                    SCIWorkflowPanel.Items[8].Enabled = true;
                    SCIWorkflowPanel.Items[8].Expanded = true;
                    //RadTabStrip1.Tabs[1].Enabled = true;
  
                    break;
                case "06":
                    SCIWorkflowPanel.Items[0].Visible = true;
            SCIWorkflowPanel.Items[1].Visible = true;
            SCIWorkflowPanel.Items[2].Visible = true;
            SCIWorkflowPanel.Items[3].Visible = true;
            SCIWorkflowPanel.Items[4].Visible = true;
            SCIWorkflowPanel.Items[5].Visible = true;
            SCIWorkflowPanel.Items[6].Visible = true;
            SCIWorkflowPanel.Items[7].Visible = true;
            SCIWorkflowPanel.Items[8].Visible = true;
            SCIWorkflowPanel.Items[9].Visible = true;
            SCIWorkflowPanel.Items[10].Visible = true;
            SCIWorkflowPanel.Items[11].Visible = true;
            SCIWorkflowPanel.Items[12].Visible = true;
            SCIWorkflowPanel.Items[13].Visible = true;
            SCIWorkflowPanel.Items[14].Visible = true;
            SCIWorkflowPanel.Items[15].Visible = true;
            SCIWorkflowPanel.Items[16].Visible = true;
  
                    break;
            }
  
        }


Iana Tsolova
Telerik team
 answered on 24 Feb 2011
1 answer
51 views
hi,

i am using a telerik radslider for my datagrid (Q1 2007 ) which works fine on ie6 and 7 but not on ie8.
is there any service pack i could download to resolve this issue or is there any workaround for this?

thanks,
Zahra
Svetlina Anati
Telerik team
 answered on 24 Feb 2011
1 answer
178 views
I have a radgrid that I would like to export to excel.
The grid is pretty simple except that it has got a simple bar chart in it. (See the attached image file)
Is there a way to export the grid to excel with the barchart intact?
I've read couple of posts such as http://www.telerik.com/community/forums/aspnet-ajax/grid/exporting-chart-along-with-grid.aspx
but it doesn't really explain in detail on how I can achieve the suggested method.
Daniel
Telerik team
 answered on 24 Feb 2011
2 answers
132 views
Dear All,
I am loading a blank row on page load.  I am unable to add a new row in grid on Add Row context Radmenu item click. For your reference please go through the code below
following is the aspx code and server code. Any help will be greatly appreciated.

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm4.aspx.vb" Inherits="BNBERP.WebForm4" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<head runat="server">
    <title></title>
</head>
<body>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
    function RowContextMenu(sender, eventArgs) {
        var menu = $find("<%=RadMenu1.ClientID %>");
        var evt = eventArgs.get_domEvent();
 
        if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") {
            return;
        }
 
        var index = eventArgs.get_itemIndexHierarchical();
        document.getElementById("radGridClickedRowIndex").value = index;
 
        sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true);
 
        menu.show(evt);
 
        evt.cancelBubble = true;
        evt.returnValue = false;
 
        if (evt.stopPropagation) {
            evt.stopPropagation();
            evt.preventDefault();
        }
    }
        </script>
</telerik:RadCodeBlock>
    <form id="form1" runat="server">
 
<div>
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        </telerik:RadScriptManager>
     
         
            <telerik:RadButton ID="RadButton1" runat="server" Text="Get Data">
            </telerik:RadButton>
        <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"
            Skin="Forest" EnableHeaderContextMenu="True">
        <MasterTableView >
<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
        <Columns>
         
        <telerik:GridTemplateColumn HeaderText="Item No">
        <ItemTemplate>
            <telerik:RadComboBox ID="RadComboBox1" runat="server"
                DataSourceID="SqlDataSource1" DataTextField="ItemCode"
                DataValueField="ItemCode">
            </telerik:RadComboBox>
        
            <asp:SqlDataSource ID="SqlDataSource1" runat="server"
                ConnectionString="<%$ ConnectionStrings:SBODemoINConnectionString %>"
                SelectCommand="SELECT [ItemCode], [ItemName] FROM [OITM]">
            </asp:SqlDataSource>
        
        </ItemTemplate>
        </telerik:GridTemplateColumn>
 
        <telerik:GridTemplateColumn HeaderText="Item Description">
        <ItemTemplate>
      <telerik:RadComboBox ID="RadComboBox2" runat="server" DataSourceID="SqlDataSource2"
                DataTextField="ItemName" DataValueField="ItemCode">
            </telerik:RadComboBox>
            <asp:SqlDataSource ID="SqlDataSource2" runat="server"
                ConnectionString="<%$ ConnectionStrings:SBODemoINConnectionString %>"
                SelectCommand="SELECT [ItemCode], [ItemName] FROM [OITM]">
            </asp:SqlDataSource>
        </ItemTemplate>
        </telerik:GridTemplateColumn>
 
        <telerik:GridTemplateColumn HeaderText="On Hand">
        <ItemTemplate>
       <telerik:RadTextBox ID="RadTextBox3" Runat="server">
            </telerik:RadTextBox>
        </ItemTemplate>        
        </telerik:GridTemplateColumn>
 
        <telerik:GridTemplateColumn HeaderText="Prefered Vendor">
        <ItemTemplate>
       <telerik:RadTextBox ID="RadTextBox4" Runat="server">
            </telerik:RadTextBox>
        </ItemTemplate>        
        </telerik:GridTemplateColumn>
 
        </Columns>
            </MasterTableView>
        <ClientSettings>
        <ClientEvents  OnRowContextMenu="RowContextMenu" />
        </ClientSettings>
<HeaderContextMenu EnableImageSprites="True" CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
        </telerik:RadGrid>
 
        <input type="hidden" id="radGridClickedRowIndex" name="radGridClickedRowIndex" />
            <telerik:RadContextMenu ID="RadMenu1" runat="server"
            EnableRoundedCorners="true" EnableShadows="true">
            <Items>
                <telerik:RadMenuItem Text="Add Row" />
                <telerik:RadMenuItem Text="Delete Row" />
                <telerik:RadMenuItem Text="Duplicate Row"/>
            </Items>
        </telerik:RadContextMenu>
        <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Height="200px" Width="300px">
        </telerik:RadAjaxPanel>
    </div>
  
    </form>
</body>
</html>
Imports Telerik.Web.UI
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class WebForm4
    Inherits System.Web.UI.Page
    Dim sqlCon As SqlConnection
    Dim sqlDa As SqlDataAdapter
    Dim sqlDs As DataSet
    Dim sqlDt, sqlDt1 As DataTable
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If Not Page.IsPostBack Then
 
                'Dim box1 As RadComboBox = DirectCast(RadGrid1.Items(0).FindControl("RadComboBox1"), RadComboBox)
                'Dim col As GridTemplateColumn
                'col = RadGrid1.Columns(0)
 
                sqlCon = New SqlConnection("Data Source=BNBSOFT-EF98F06\SQLEXPRESS;Initial Catalog=SBODemoIN;Integrated Security=True")
                sqlDa = New SqlDataAdapter("SELECT [ItemCode],[ItemName],[OnHand],[CardCode] FROM [SBODemoIN].[dbo].[OITM]", sqlCon)
                sqlDs = New DataSet()
                sqlDt = New DataTable()
                sqlDa.FillSchema(sqlDt, SchemaType.Source)
                For Each column As DataColumn In sqlDt.Columns()
                    column.AllowDBNull = "True"
                Next
 
                SetInitialRow(sqlDt)
 
            End If
        Catch ex As Exception
 
        End Try
    End Sub
    Private Sub FillItemsCombo()
        sqlCon = New SqlConnection("Data Source=BNBSOFT-EF98F06\SQLEXPRESS;Initial Catalog=SBODemoIN;Integrated Security=True")
        sqlDa = New SqlDataAdapter("SELECT [ItemCode],[ItemName],[OnHand],[CardCode] FROM [SBODemoIN].[dbo].[OITM]", sqlCon)
 
    End Sub
    Private Sub SetInitialRow(ByRef dt1 As DataTable)
        Dim dt As New DataTable()
        dt = dt1
        Dim dr As DataRow = Nothing
        dr = dt.NewRow()
        dr.Item(2) = "4.0"
        dt.Rows.Add(dr)
 
 
        'Store the DataTable in ViewState
        ViewState("CurrentTable") = dt
 
        RadGrid1.DataSource = dt
        RadGrid1.DataBind()
        SetPreviousData()
        'DirectCast(item("YourColumnUniqueName").FindControl("IDofYourRadTextBox"), RadTextBox).Text()
 
    End Sub
 
 
    Private Sub SetPreviousData()
        Dim rowIndex As Integer = 0
        If ViewState("CurrentTable") IsNot Nothing Then
            Dim dt As DataTable = DirectCast(ViewState("CurrentTable"), DataTable)
            If dt.Rows.Count > 0 Then
                For i As Integer = 0 To dt.Rows.Count - 1
                    Dim box1 As RadComboBox = DirectCast(RadGrid1.Items(rowIndex).Cells(0).FindControl("RadComboBox1"), RadComboBox)
                    Dim box2 As RadComboBox = DirectCast(RadGrid1.Items(rowIndex).Cells(1).FindControl("RadComboBox2"), RadComboBox)
                    Dim box3 As RadTextBox = DirectCast(RadGrid1.Items(rowIndex).Cells(2).FindControl("RadTextBox3"), RadTextBox)
                    Dim box4 As RadTextBox = DirectCast(RadGrid1.Items(rowIndex).Cells(3).FindControl("RadTextBox4"), RadTextBox)
 
                    'If box1.Items.Count <= 0 Then
                    '    sqlCon = New SqlConnection("Data Source=BNBSOFT-EF98F06\SQLEXPRESS;Initial Catalog=SBODemoIN;Integrated Security=True")
                    '    sqlDa = New SqlDataAdapter("SELECT [ItemCode],[ItemName],[OnHand],[CardCode] FROM [SBODemoIN].[dbo].[OITM]", sqlCon)
                    '    sqlDs = New DataSet
                    '    sqlDa.Fill(sqlDs)
                    '    Dim rs, rs1 As RadComboBoxItem
 
                    '    For j As Integer = 0 To sqlDs.Tables(0).Rows.Count
                    '        rs = New RadComboBoxItem(sqlDs.Tables(0).Rows(j)(0).ToString(), sqlDs.Tables(0).Rows(j)(0).ToString())
                    '        rs1 = New RadComboBoxItem(sqlDs.Tables(0).Rows(j)(0).ToString(), sqlDs.Tables(0).Rows(j)(0).ToString())
                    '        box1.Items.Add(rs)
                    '        box2.Items.Add(rs1)
                    '    Next
                    'End If
                    'box1.SelectedValue = dt.Rows(i)("ItemCode").ToString()
                    box1.SelectedIndex = 0
                    box2.SelectedIndex = 0
                    ' box2.Text = dt.Rows(i)("ItemName").ToString()
                    box3.Text = dt.Rows(i)("OnHand").ToString()
                    box4.Text = dt.Rows(i)("CardCode").ToString()
 
                    rowIndex += 1
                Next
            End If
        End If
    End Sub
 
    Private Sub AddNewRowToGrid()
        Dim rowIndex As Integer = 0
 
        If ViewState("CurrentTable") IsNot Nothing Then
            Dim dtCurrentTable As DataTable = DirectCast(ViewState("CurrentTable"), DataTable)
            Dim drCurrentRow As DataRow = Nothing
            If dtCurrentTable.Rows.Count > 0 Then
                For i As Integer = 1 To dtCurrentTable.Rows.Count
                    'extract the TextBox values
                    Dim box1 As RadComboBox = DirectCast(RadGrid1.Items(rowIndex).Cells(0).FindControl("RadComboBox1"), RadComboBox)
                    Dim box2 As RadComboBox = DirectCast(RadGrid1.Items(rowIndex).Cells(1).FindControl("RadComboBox2"), RadComboBox)
                    Dim box3 As RadTextBox = DirectCast(RadGrid1.Items(rowIndex).Cells(2).FindControl("RadTextBox3"), RadTextBox)
                    Dim box4 As RadTextBox = DirectCast(RadGrid1.Items(rowIndex).Cells(3).FindControl("RadTextBox4"), RadTextBox)
                    drCurrentRow = dtCurrentTable.NewRow()
                    dtCurrentTable.Rows(i - 1)("ItemCode") = box1.SelectedItem
                    dtCurrentTable.Rows(i - 1)("ItemName") = box2.SelectedItem
                    dtCurrentTable.Rows(i - 1)("OnHand") = box3.Text
                    dtCurrentTable.Rows(i - 1)("CardCode") = box4.Text
                    rowIndex += 1
                Next
                dtCurrentTable.Rows.Add(drCurrentRow)
                ViewState("CurrentTable") = dtCurrentTable
 
                RadGrid1.DataSource = dtCurrentTable
                RadGrid1.DataBind()
            End If
        Else
            Response.Write("ViewState is null")
        End If
 
        'Set Previous Data on Postbacks
        SetPreviousData()
    End Sub
 
     
 
 
    Private Sub RadMenu1_ItemClick(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMenuEventArgs) Handles RadMenu1.ItemClick
        Dim radGridClickedRowIndex As Integer
        Try
            radGridClickedRowIndex = Convert.ToInt32(Request.Form("radGridClickedRowIndex"))
 
            Select Case e.Item.Text
                Case "Duplicate Row"
                    'AddDuplicateRowToGrid(radGridClickedRowIndex)
                    Exit Select
                Case "Add Row"
                    AddNewRowToGrid()
                    Exit Select
                Case "Delete Row"
                    'DeleteRowFromGrid(radGridClickedRowIndex)
                    'RadGrid1.Items(radGridClickedRowIndex).
                    'RadGrid1.MasterTableView.PerformDelete(RadGrid1.Items(radGridClickedRowIndex))
                    Exit Select
            End Select
        Catch ex As Exception
 
        End Try
    End Sub
 
    Protected Sub RadButton1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles RadButton1.Click
        Try
            AddNewRowToGrid()
        Catch ex As Exception
 
        End Try
 
    End Sub
 
     
End Class


Sunil
Top achievements
Rank 1
 answered on 24 Feb 2011
1 answer
123 views
Hi
I am using Telerik radgrid with user defined columns to have custom filter controls.
 I have specified the headerstyle-width to a default column width and allowed some columns to be resizable. When the user resizes the grid and hits on sort or does any postback the column widths are not being retained.
I then went for the GridSettingsPersister class and called the persist method to save to session as shown in the demo after the column is resized. When i firebug the window the colgroup has the col width that the user resized but unfortunately this is not being picked up in the
GridSettingsPersister.GetColumnSettings. The value that is being picked up is the default headerstyle-width that I had given.
Is this because I am using user defined columns?


Any help would be appreciated as i seem to be stuck at dead ends whatever i try.
Veli
Telerik team
 answered on 24 Feb 2011
1 answer
71 views
Hi,
I used the solution in this thread to hide/display columns clientside. It works fine but the headertext gets unwrapped and gets displayed in a single line when the column is displayed after being hidden.

Is there anyway to avoid this?

Thank you!
Veli
Telerik team
 answered on 24 Feb 2011
1 answer
61 views
I'm unable to get a chart to render in a web part under SharePoint 2010. I've read all of the other posts about this and inserted the handler strings into web.config. We are not using URL rewriting. Does Telerik have an actual working example of this scenario (chart in custom web part) that I can download to use as a test?

We have Radcontrols for ASP.Net Ajax Q2 2010, SharePoint 2010 Enterprise and Windows Server 2008 R2
Bartholomeo Rocca
Top achievements
Rank 1
 answered on 24 Feb 2011
2 answers
107 views
Hi,

I am trying to create a calculated column, which I have succeeded in doing, but filtering and grouping is triggering a javascript exception.

This is my code:

<telerik:RadGrid ID="timesheetGrid" runat="server" GridLines="None" Skin="Windows7"AllowSorting="True" ShowGroupPanel="True" AutoGenerateColumns="False" AllowPaging="True"
    PageSize="15" ShowStatusBar="True" AllowFilteringByColumn="True" AllowMultiRowSelection="True"
    OnNeedDataSource="timesheetGrid_NeedDataSource" OnPreRender="timesheetGrid_PreRender"
    ViewStateMode="Enabled" onitemdatabound="timesheetGrid_ItemDataBound" Width="970px">
    <ClientSettings EnableRowHoverStyle="true" AllowColumnsReorder="True" ReorderColumnsOnClient="True"
        AllowDragToGroup="True">
        <Selecting AllowRowSelect="True" />
        <ClientEvents OnRowDblClick="RowDblClick" />
    </ClientSettings>
    <MasterTableView DataKeyNames="ID" EditMode="EditForms">
        <RowIndicatorColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
        </RowIndicatorColumn>
        <ExpandCollapseColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
        </ExpandCollapseColumn>
        <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
        <Columns>
            <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" />
            <telerik:GridBoundColumn DataField="ID" HeaderText="ID" UniqueName="ID" Visible="False"
                ReadOnly="true">
            </telerik:GridBoundColumn>
            <telerik:GridDateTimeColumn DataField="From" DataType="System.DateTime"
                HeaderText="Date" UniqueName="DateFrom" ReadOnly="true" DataFormatString="{0:dd/MM/yyyy}" FilterControlWidth="100px" HeaderStyle-Width="100px">
            </telerik:GridDateTimeColumn>
            <telerik:GridBoundColumn DataField="User.UserName" HeaderText="User" UniqueName="User"
                ReadOnly="true">
            </telerik:GridBoundColumn>
            <telerik:GridNumericColumn UniqueName="Duration" HeaderText="Duration" DataType="System.Double" HeaderStyle-Width="30px" FilterControlWidth="30px">
                <ItemStyle HorizontalAlign="Right"/>
            </telerik:GridNumericColumn>
            <telerik:GridBoundColumn DataField="Description" HeaderText="Description" UniqueName="Description">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="DocketNo" HeaderText="Docket No" UniqueName="DocketNo"
                ReadOnly="true">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="FileCode" HeaderText="File Code" UniqueName="FileCode" HeaderStyle-Width="50px" FilterControlWidth="50px">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="FileCodeID" HeaderText="File Code ID" UniqueName="FileCodeID"
                Visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="CostCenter" HeaderText="Cost Center" UniqueName="CostCenter" HeaderStyle-Width="50px" FilterControlWidth="50px">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="CostCenterID" HeaderText="Cost Center ID" UniqueName="CostCenterID"
                Visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="CompanyID" HeaderText="Company ID" UniqueName="CompanyID"
                Visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridCheckBoxColumn DataField="IsNegativeTimesheet" DataType="System.Boolean"
                HeaderText="Negative Timesheet" UniqueName="NegativeTimesheet" ReadOnly="true">
            </telerik:GridCheckBoxColumn>
            <telerik:GridCheckBoxColumn DataField="IsOvertime" DataType="System.Boolean" HeaderText="Overtime"
                UniqueName="Overtime" ReadOnly="true">
            </telerik:GridCheckBoxColumn>
        </Columns>
        <EditFormSettings UserControlName="UserControls/TimesheetEdit.ascx" EditFormType="WebUserControl">
            <EditColumn FilterControlAltText="Filter EditCommandColumn column">
            </EditColumn>
        </EditFormSettings>
    </MasterTableView>
    <PagerStyle Mode="NumericPages" VerticalAlign="Bottom" />
    <FilterMenu EnableImageSprites="False">
    </FilterMenu>
    <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Windows7">
    </HeaderContextMenu>
</telerik:RadGrid>


Column Calculation:
protected void timesheetGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem row = e.Item as GridDataItem;
        TimeSheet item = e.Item.DataItem as TimeSheet;
        if (item != null)
        {
            double duration = item.To.TimeOfDay.TotalHours - item.From.TimeOfDay.TotalHours;
            row["Duration"].Text = duration.ToString();
        }
        else
        {
            row["Duration"].Text = "0";
        }
    }
}

Exception:

Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Expression cannot be null or empty.

Attached image.

Any help would be greatly appreciated.

Many thanks,
Daryl
Alan
Top achievements
Rank 1
 answered on 24 Feb 2011
1 answer
111 views
I'm trying to create an application that will display real-time logging of server-side events and show the status of these events within an ajaxpanel. I'm performing tasks such as extracting a zip file, copy files/folders to other locations, and deleting files and folders... all on the server where the application will be hosted.

I would like the status of each of these processes to be displayed to the user... for example:

- zip file is now being extracted... complete
- now searching for audio folder... complete
- now copying audio folder contents to driver folder... complete

... and so on

Can anyone suggest how this can be implemented?

Thanks!
Iana Tsolova
Telerik team
 answered on 24 Feb 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?