Telerik Forums
UI for WinForms Forum
4 answers
265 views

I am creating a simple Text Tagging Application using the Comments feature of RichTextEditor.

The functionality is very simple, User loads Text File in a RichTextEditor and Adds a Bunch of comments. There is nothing else the user can do. There is no formatting or images.

Once the user has done commenting, he can press a button to say "Complete". Now I want to know Each comment, the Text the user selected for commenting from the Original document, and the Ordinal position of the original selection in the document.

 

I was able to get all Comment objects, All CommentRangeStart and CommentRangeEnd objects along with the Span object which has the Text. 

I am able to get what the user commented on what text. However I am not able to find the Position of the text in the original document. Please help.

Reference:

1.foreach (var start in rtf.Document.GetAnnotationMarkersOfType<CommentRangeStart>())
2.{
3.    CommentRangeEnd end = (CommentRangeEnd)start.End;
4.    Comment comment = end.Comment;
5.    Span textSpan = (Span)start.NextSibling;
6.    int positionOfText = ??
7.    msgBoxString += comment.Author + ": " + textSpan.Text + "\r\n";
8.}

 

 

Peshito
Telerik team
 answered on 06 Aug 2019
2 answers
192 views

I want to give user the ability to change Winform PageView ViewMode . How can i implement it?

 

saud
Top achievements
Rank 1
 answered on 06 Aug 2019
3 answers
186 views

Hi,

I'm trying to use GridView Multiselect property but is not working.

I just set MultiSelect to true and SelectionMode to FullRowText but it doesn't work. I tried using shift, control and even the mouse and nothing.

Is there something missing for me?

I just checked the documentation.

 

Regards,

Walter

Dess | Tech Support Engineer, Principal
Telerik team
 answered on 05 Aug 2019
4 answers
64 views

Hi

Is there a way to make SearchText to do "StartWith" vs. its default "Contains".

Thank you,

P.S. I am not referring to Filters.

Boris
Top achievements
Rank 1
 answered on 05 Aug 2019
1 answer
662 views

Hi Admin,

The dropdownlist of autocompletemode is suggest and dropdownlist of dropdownstyle is dropdown.

I have two dropdownlist. First is Category and second details.

First Category data are Green,Red and Orange.

Second Details data are Avocado, Green apple, Green grape, Kiwi, Pear, Honeydew Melon, Raspberry, Strawberry, cherry, Orange, Papaya, Tangerines, Pumpkin and Plum.

When I key in  detail dropdownlist start from 'P' and I choose 'Plum' and Category dropdownlist auto change to Red  but  second dropdownlist automatically choose Strawberry. 

If Category choose blank , all dropdownlist reset. If Category choose green, detail dropdownlist need to show green category code of fruit. No need to show all value.

 

Below my testing coding.

Imports Telerik.WinControls.UI

Public Class RadForm1
    Property FolderCodeToUse As Nullable(Of Integer)
    Property DocumentTypeCodeToUse As Nullable(Of Integer)
    Property DocumentDescriptionToUse As String
    Property BlnSuppressFolderCode As Boolean
    Property BlnSuppressDocumentTypeCode As Boolean
    Property font As New Font("Arial", 14)
    Property ListOfDocumentTypes As List(Of DocumentTypes)
    Private Sub RadForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ListOfDocumentTypes = New List(Of DocumentTypes)
        Dim lstfoldercode As New List(Of DocumentTypes)
        Dim fold1 As New DocumentTypes
        fold1.FolderCode = 1
        fold1.FolderNameText = "Green"
        lstfoldercode.Add(fold1)
        fold1 = New DocumentTypes
        fold1.FolderCode = 2
        fold1.FolderNameText = "Red"
        lstfoldercode.Add(fold1)
        fold1 = New DocumentTypes
        fold1.FolderCode = 3
        fold1.FolderNameText = "Orange"
        lstfoldercode.Add(fold1)

        lstfoldercode.Insert(0, New DocumentTypes)

        Dim doc1 As New DocumentTypes
        doc1.FolderCode = 1
        doc1.FolderNameText = "Green"
        doc1.DocumentTypeCode = 1
        doc1.DocumentTypeDescription = "Avocado"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 1
        doc1.FolderNameText = "Green"
        doc1.DocumentTypeCode = 2
        doc1.DocumentTypeDescription = "Green apple"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 1
        doc1.FolderNameText = "Green"
        doc1.DocumentTypeCode = 2
        doc1.DocumentTypeDescription = "Green grape"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 1
        doc1.FolderNameText = "Green"
        doc1.DocumentTypeCode = 3
        doc1.DocumentTypeDescription = "Kiwi"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 1
        doc1.FolderNameText = "Green"
        doc1.DocumentTypeCode = 4
        doc1.DocumentTypeDescription = "Pear"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 1
        doc1.FolderNameText = "Green"
        doc1.DocumentTypeCode = 5
        doc1.DocumentTypeDescription = "Honeydew Melon"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 2
        doc1.FolderNameText = "Red"
        doc1.DocumentTypeCode = 1
        doc1.DocumentTypeDescription = "Raspberry"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 2
        doc1.FolderNameText = "Red"
        doc1.DocumentTypeCode = 6
        doc1.DocumentTypeDescription = "Strawberry"
        ListOfDocumentTypes.Add(doc1)
        doc1 = New DocumentTypes
        doc1.FolderCode = 2
        doc1.FolderNameText = "Red"
        doc1.DocumentTypeCode = 7
        doc1.DocumentTypeDescription = "Cherry"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 3
        doc1.FolderNameText = "Orange"
        doc1.DocumentTypeCode = 8
        doc1.DocumentTypeDescription = "Orange"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 3
        doc1.FolderNameText = "Orange"
        doc1.DocumentTypeCode = 9
        doc1.DocumentTypeDescription = "Papaya"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 3
        doc1.FolderNameText = "Orange"
        doc1.DocumentTypeCode = 10
        doc1.DocumentTypeDescription = "Tangerines"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 3
        doc1.FolderNameText = "Orange"
        doc1.DocumentTypeCode = 11
        doc1.DocumentTypeDescription = "Pumpkin"
        ListOfDocumentTypes.Add(doc1)

        doc1 = New DocumentTypes
        doc1.FolderCode = 2
        doc1.FolderNameText = "Red"
        doc1.DocumentTypeCode = 12
        doc1.DocumentTypeDescription = "Plum"
        ListOfDocumentTypes.Add(doc1)

        ListOfDocumentTypes.Insert(0, New DocumentTypes)

        Me.RadDropDownList2.ValueMember = "DocumentTypeCode"
        Me.RadDropDownList2.DisplayMember = "DocumentTypeDescription"
        Me.BlnSuppressDocumentTypeCode = True
        Me.RadDropDownList2.DataSource = Me.ListOfDocumentTypes.ToList
        Me.BlnSuppressDocumentTypeCode = False
        Me.RadDropDownList2.Refresh()
        For Each item As RadListDataItem In RadDropDownList1.ListElement.Items
            item.Font = font
        Next

        Me.RadDropDownList1.ValueMember = "FolderCode"
        Me.RadDropDownList1.DisplayMember = "FolderNameText"
        Me.BlnSuppressFolderCode = True
        Me.RadDropDownList1.DataSource = lstfoldercode.ToList
        Me.BlnSuppressFolderCode = False
        Me.RadDropDownList1.Refresh()
        For Each item As RadListDataItem In RadDropDownList1.ListElement.Items
            item.Font = font
        Next
    End Sub

    Private Sub RadDropDownList1_SelectedValueChanged(sender As Object, e As EventArgs) Handles RadDropDownList1.SelectedValueChanged
        Try
            If Me.BlnSuppressFolderCode Then
                Exit Sub
            End If

            Dim CategoryCode As Integer = CInt(RadDropDownList1.SelectedValue)

            RadDropDownList1.DataSource = Nothing
            RadDropDownList1.Refresh()


            LoadDetailBasedOnCategory(CategoryCode)

        Catch ex As Exception

        End Try
    End Sub

    Private Sub RadDropDownList2_SelectedValueChanged(sender As Object, e As EventArgs) Handles RadDropDownList2.SelectedValueChanged
        Try
            If Me.BlnSuppressDocumentTypeCode Then
                Exit Sub
            End If

            Dim detailstypeCode As Integer = CInt(RadDropDownList2.SelectedValue)

            If detailstypeCode = 0 Then
                Exit Sub
            End If

            Dim categoryCodeSelected As Integer = CInt(RadDropDownList1.SelectedValue)
            If categoryCodeSelected = 0 Then

                'STEP 5. Find the FolderCode based on the DocumentTypeCode selected
                For Each detailTypes1 As DocumentTypes In Me.ListOfDocumentTypes
                    If detailTypes1.DocumentTypeCode = detailstypeCode Then
                        categoryCodeSelected = detailTypes1.FolderCode
                        Exit For
                    End If
                Next

                Me.DocumentTypeCodeToUse = detailstypeCode

                Me.BlnSuppressFolderCode = True
                RadDropDownList1.SelectedValue = categoryCodeSelected
                Me.BlnSuppressFolderCode = False

                LoadDetailBasedOnCategory(categoryCodeSelected)

                Me.BlnSuppressDocumentTypeCode = True
                RadDropDownList2.SelectedValue = Me.DocumentTypeCodeToUse.Value
                Me.BlnSuppressDocumentTypeCode = False

                Me.DocumentTypeCodeToUse = New Nullable(Of Integer)

            End If

        Catch ex As Exception

        End Try
    End Sub
    Private Sub LoadDetailBasedOnCategory(folderCodeSelected As Integer)
        Try
            'STEP 1. Get the list of DocumentTypeCode based on the FolderCode
            Dim listOfDocumentTypesToShow As New List(Of DocumentTypes)
            If folderCodeSelected = 0 Then
                For Each documentTypes1 As DocumentTypes In Me.ListOfDocumentTypes.ToList
                    listOfDocumentTypesToShow.Add(documentTypes1)
                Next
            ElseIf folderCodeSelected > 0 Then
                For Each documentTypes1 As DocumentTypes In Me.ListOfDocumentTypes.ToList
                    If documentTypes1.FolderCode = folderCodeSelected Then
                        listOfDocumentTypesToShow.Add(documentTypes1)
                    End If
                Next
            End If

            'STEP 2. Sort
            If listOfDocumentTypesToShow.Count >= 1 Then
                listOfDocumentTypesToShow.Sort(Function(x, y)
                                                   Dim compare As Integer = 0
                                                   If Not String.IsNullOrEmpty(x.DocumentTypeDescription) AndAlso Not String.IsNullOrEmpty(y.DocumentTypeDescription) Then
                                                       compare = x.DocumentTypeDescription.CompareTo(y.DocumentTypeDescription)
                                                   End If
                                                   Return compare
                                               End Function)

                'STEP 3. Insert blank first row
                listOfDocumentTypesToShow.Insert(0, New DocumentTypes)
            End If

            'STEP 4. Load data into dropdownlist (suppress any event handler)
            RadDropDownList2.ValueMember = "DocumentTypeCode"
            RadDropDownList2.DisplayMember = "DocumentTypeDescription"
            Me.BlnSuppressDocumentTypeCode = True
            RadDropDownList2.DataSource = listOfDocumentTypesToShow.ToList
            Me.BlnSuppressDocumentTypeCode = False
            RadDropDownList2.Refresh()
            For Each ListItem In RadDropDownList2.Items
                ListItem.Font = font
            Next


        Catch ex As Exception

        End Try
    End Sub
End Class
Public Class DocumentTypes
    Property DocumentTypeCode As Integer
    Property FolderCode As Integer
    Property FolderNameText As String
    Property DocumentTypeDescription As String
End Class

Thanks

Moe

 

Todor
Telerik team
 answered on 05 Aug 2019
1 answer
120 views
I want to change position MessageElement when I want to do it. When I load old message, I only load about 30 message element, then when I scroll to last message I will load 30 next message.
Dess | Tech Support Engineer, Principal
Telerik team
 answered on 05 Aug 2019
1 answer
257 views

Hi,

I am trying to customize the appearance of the list view item and I followed the Shopping Cart List View example at the below location -

https://docs.telerik.com/devtools/winforms/knowledge-base/shopping-cart-lsitview-custom-item

The list view item is divided into two StackLayout elements and each element has further UI elements and buttons. The entire item is divided into 2 halves. I need to define the width of the each StackLayout element such that the element on the left occupies around 70% of the item width and the one on the right to have a 30% width.

Attached is an image for reference which shows the item is split into 2 halves. 

A sample code or pointers would be great.

Below is the code for the visual item as well.

 

using System;
using System.Drawing;
using System.Windows.Forms;
using Telerik.WinControls.UI;
using WFAInterplayPOS.Model.DataModel.Cart;
using WFAInterplayPOS.Service;
 
namespace WFAInterplayPOS.UserIterface.Restaurant
{
    public class ActiveCartVisualItem : SimpleListViewVisualItem
    {
        // Add button.
        private RadButtonElement AddButtonElement;
        // Remove button.
        private RadButtonElement RemoveButtonElement;
        // Details layout
        private StackLayoutElement DetailsStackLayout;
        // Buttons layout.
        private StackLayoutElement ButtonsStackLayout;
        // Title.
        private LightVisualElement TitleElement;
        // Viewitem layout.
        private StackLayoutElement ViewItemLayout;
        // Amount label.
        private RadLabelElement AmountLabelElement;
 
        /*
         * Overridden CreateChildElements()
         *
         * */
        protected override void CreateChildElements()
        {
            // base.CreateChildElements();
            base.CreateChildElements();
 
            // Viewitem layout.
            ViewItemLayout = new StackLayoutElement
            {
                Orientation = Orientation.Horizontal,
                ShouldHandleMouseInput = false,
                NotifyParentOnMouseInput = true,
                StretchHorizontally = true
            };
 
            // Build details layout.
            BuildDetailsLayout();
 
            // Build buttons layout.
            BuildButtonsLayout();
 
            // Add the visual elements.
            ViewItemLayout.Children.Add(DetailsStackLayout);
            ViewItemLayout.Children.Add(ButtonsStackLayout);
            Children.Add(ViewItemLayout);
        }
 
        /*
         * BuildDetailsLayout()
         *
         * */
        private void BuildDetailsLayout()
        {
            // Details layout.
            DetailsStackLayout = new StackLayoutElement
            {
                Orientation = Orientation.Vertical,
                ShouldHandleMouseInput = false,
                NotifyParentOnMouseInput = true,
                StretchHorizontally = true,
                Margin = new Padding(3, 3, 3, 3)
            };
 
            // Title element.
            TitleElement = new LightVisualElement
            {
                TextAlignment = ContentAlignment.MiddleLeft,
                StretchHorizontally = true,
                ShouldHandleMouseInput = false,
                NotifyParentOnMouseInput = true
            };
            DetailsStackLayout.Children.Add(TitleElement);
 
            // Amount label.
            AmountLabelElement = new RadLabelElement
            {
                Margin = new Padding(0, 3, 0, 3),
                TextAlignment = ContentAlignment.MiddleLeft
            };
            DetailsStackLayout.Children.Add(AmountLabelElement);
        }
 
        /*
         * BuildButtonsLayout()
         *
         * */
        private void BuildButtonsLayout()
        {
            // Buttons layout.
            ButtonsStackLayout = new StackLayoutElement
            {
                Orientation = Orientation.Horizontal,
                ShouldHandleMouseInput = false,
                NotifyParentOnMouseInput = true,
                StretchHorizontally = true,
                StretchVertically = true
            };
 
            // Remove button.
            RemoveButtonElement = new RadButtonElement
            {
                Margin = new Padding(3, 6, 0, 6),
                Text = "<html><size=13><b>-</b>",
                StretchVertically = true,
            };
            RemoveButtonElement.Click += RemoveButtonElement_Click;
            ButtonsStackLayout.Children.Add(RemoveButtonElement);
 
            // Add button.
            AddButtonElement = new RadButtonElement
            {
                Margin = new Padding(0, 6, 3, 6),
                Text = "<html><size=13><b>+</b>",
                StretchVertically = true,
            };
            AddButtonElement.Click += AddButtonElement_Click;
            ButtonsStackLayout.Children.Add(AddButtonElement);
        }
 
        /*
         * AddButtonElement_Click()
         *
         * */
        private void AddButtonElement_Click(object sender, EventArgs e)
        {
             
        }
 
        /*
         * RemoveButtonElement_Click()
         *
         * */
        private void RemoveButtonElement_Click(object sender, EventArgs e)
        {
             
        }
 
        protected override void SynchronizeProperties()
        {
            // base.SynchronizeProperties()
            base.SynchronizeProperties();
 
            // Other attributes.
            Text = "";
            var data = Data.DataBoundItem as LineItem;
            TitleElement.Text = "<html><size=10>" + data.quantity + " x " + data.name;
            AmountLabelElement.Text = "<html><size=10><color=red>" + data.subTotal.amount.ToString("C");
        }
 
        protected override Type ThemeEffectiveType
        {
            get
            {
                return typeof(SimpleListViewVisualItem);
            }
        }
    }
}

 

Thanks.

Nadya | Tech Support Engineer
Telerik team
 answered on 02 Aug 2019
1 answer
467 views

Hi All, 

I have added a custom column or cell containing DrodownList -its appearing correctly in view mode. 

Now I have below points :

1. On which event of the GridView I can bind the dropdownList. 

2. When I select any value (Currently have added some static value in the DropdownList). Once I scroll the grid , the state changes to original state. 

3. Some time I noticed that the value i selected for let say row one, the same value is being selected for the the row which is not displayed. after scrolling we can see the same. and the value of 1st row got removed. 

4. My requirement is -

  1.     I need to give a data source to the Drodownlist. 
  2.  Need to get a value selected on some condition 
  3. If I scroll the value should not change. 

Attaching my code of custom cell 

class CustomDropCell : GridDataCellElement
   {
       private string conString { get; set; }
       public CustomDropCell(GridViewColumn column, GridRowElement row): base(column, row)
       {
           //conString = con;
       }
       
       private StackLayoutPanel panel;
       private RadDropDownListElement radDropDownList;
 
 
       protected override void CreateChildElements()
       {
           base.CreateChildElements();
 
           this.panel = new StackLayoutPanel();
           this.panel.Margin = new System.Windows.Forms.Padding(5);
           this.panel.Orientation = System.Windows.Forms.Orientation.Vertical;
 
 
           this.radDropDownList = new RadDropDownListElement
           {
               DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList
           };
           this.radDropDownList.Items.Add("Santosh");
           this.radDropDownList.Items.Add("Jha");
            this.radDropDownList.Items.Add("Mr");
           this.radDropDownList.Items.Add("Kumar");
           this.Children.Add(radDropDownList);
       }
 
       protected override void SetContentCore(object value)
       {
           
           GridViewGroupRowInfo row = this.RowInfo as GridViewGroupRowInfo;
 
           object cellValue = value;
 
           if (cellValue is DBNull || cellValue == null)
               cellValue = "Mr";
           this.radDropDownList.SelectedValue = cellValue;
 
       }
       protected override Type ThemeEffectiveType
       {
           get
           {
               return typeof(GridDataCellElement);
           }
       }
 
       public override bool IsCompatible(GridViewColumn data, object context)
       {
           return base.IsCompatible(data, context);
           // return data is CustomDropCellColumn && context is GridDataRowElement;
       }
   }
 
 
   public class CustomDropCellColumn : GridViewDataColumn
   {
       //private string conString { get; set; }
       public CustomDropCellColumn(string fieldName) : base(fieldName)
       {
           //conString = connectionString;
       }
 
       public override Type GetCellType(GridViewRowInfo row)
       {
           if (row is GridViewDataRowInfo)
           {
               return typeof(CustomDropCell);
           }
           return base.GetCellType(row);
       }
   }

 

Adding the column in Grid in Form Constructor.

CustomDropCellColumn customColumn = new CustomDropCellColumn("Destination Table");
           customColumn.MaxWidth = 170;
           this.radGridViewTable.Columns.Add(customColumn);
           this.radGridViewTable.Columns["Destination Table"].MinWidth = 165;
Dess | Tech Support Engineer, Principal
Telerik team
 answered on 02 Aug 2019
3 answers
179 views

I need to use dropdownlist as RadGridView editor 

and I have look into this 

https://docs.telerik.com/devtools/winforms/controls/dropdown-listcontrol-and-checkeddropdownlist/checkeddropdownlist/how-to/use-as-radgridview-editor

In the sample above,it bound a datasource to the dropdownlist editor,but only handle the display text and control value by overiding the "Value" property.

If I want to bind a datasource with valuemember and displaymember,how to handle them properly?What I expect is to let user choose with the displaymember and valuemember can be saved according to what user choose just like the normal checkeddropdownlist control.

Dess | Tech Support Engineer, Principal
Telerik team
 answered on 02 Aug 2019
3 answers
124 views
How to customize appearance of the GridViewRatingColumn in radgidview 
Nadya | Tech Support Engineer
Telerik team
 answered on 01 Aug 2019
Narrow your results
Selected tags
Tags
GridView
General Discussions
Scheduler and Reminder
Treeview
Dock
RibbonBar
Themes and Visual Style Builder
ChartView
Calendar, DateTimePicker, TimePicker and Clock
DropDownList
Buttons, RadioButton, CheckBox, etc
ComboBox and ListBox (obsolete as of Q2 2010)
ListView
Chart (obsolete as of Q1 2013)
Form
PageView
MultiColumn ComboBox
TextBox
RichTextEditor
Menu
PropertyGrid
RichTextBox (obsolete as of Q3 2014 SP1)
Panelbar (obsolete as of Q2 2010)
PivotGrid and PivotFieldList
Tabstrip (obsolete as of Q2 2010)
MaskedEditBox
CommandBar
PdfViewer and PdfViewerNavigator
ListControl
Carousel
Diagram, DiagramRibbonBar, DiagramToolBox
GanttView
Panorama
New Product Suggestions
Toolstrip (obsolete as of Q3 2010)
VirtualGrid
AutoCompleteBox
Label
Spreadsheet
ContextMenu
Panel
Visual Studio Extensions
TitleBar
Documentation
SplitContainer
Map
DesktopAlert
ProgressBar
CheckedDropDownList
Rotator
TrackBar
MessageBox
SpinEditor
StatusStrip
CheckedListBox
Wizard
ShapedForm
SyntaxEditor
TextBoxControl
LayoutControl
CollapsiblePanel
Conversational UI, Chat
DateTimePicker
TabbedForm
CAB Enabling Kit
DataEntry
GroupBox
ScrollablePanel
WaitingBar
ScrollBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
ColorDialog
FileDialogs
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
BindingNavigator
PopupEditor
RibbonForm
Styling
TaskBoard
Barcode
ColorBox
Callout
FilterView
PictureBox
VirtualKeyboard
NavigationView
Accessibility
DataLayout
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Localization
TimePicker
ButtonTextBox
FontDropDownList
Licensing
BreadCrumb
Security
LocalizationProvider
Dictionary
Overlay
Separator
SparkLine
TreeMap
StepProgressBar
SplashScreen
Flyout
ToolbarForm
NotifyIcon
Rating
TimeSpanPicker
BarcodeView
Calculator
OfficeNavigationBar
TaskbarButton
HeatMap
SlideView
PipsPager
AIPrompt
TaskDialog
DateOnlyPicker
TimeOnlyPicker
+? more
Top users last month
Henri
Top achievements
Rank 2
Iron
Iron
Iron
SUNIL
Top achievements
Rank 2
Iron
Iron
Iron
David
Top achievements
Rank 1
Jackson
Top achievements
Rank 1
Iron
Iron
Tim
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Henri
Top achievements
Rank 2
Iron
Iron
Iron
SUNIL
Top achievements
Rank 2
Iron
Iron
Iron
David
Top achievements
Rank 1
Jackson
Top achievements
Rank 1
Iron
Iron
Tim
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?