Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
190 views
Hi,

i have a radgrid in inline edit mode all the time. i currently am doing a batch update when they click on the update command button.
i want to go a step further and save data   "when user enters data in the column and moves onto enter data in a column in the next row"    so in simple terms i want to save row data on row focus change. how can i achieve this functionality.

any suggestions would be appreciated.

Thank you,

Murali.
Mira
Telerik team
 answered on 21 Mar 2011
6 answers
125 views
Hi,

I have 3 questions regarding a rad grid with a master/detail relationship.   All of my problems are the result of me not knowing how to reference the detail view items in code behind.


1.  In the master table view view I use the following to reference the items in command item template.

 

Dim cmdItem As GridCommandItem = DirectCast(rgvApplicationIdentifiers.MasterTableView.GetItems(GridItemType.CommandItem)(0), GridCommandItem)

 

How do I reference the command items in the details view?

And if the following code how do I distinguish between the master EditIndexes.Count and the details EditIndexes.Count?

 

 

 

 

Dim lnkAdd As LinkButton = TryCast(cmdItem.FindControl("lbtAdd"), LinkButton)

 

 

 

 

If

 

Me.rgvSecurityUsers.EditIndexes.Count = 0 And Not Me.rgvSecurityUsers.MasterTableView.IsItemInserted And Me.hdfAdd.Value = True Then

 

lnkAdd.Visible =

True

 

 

End If

 



2.  I have a rad grid that has a command item template for the master table view, that performs add/updates/inserts.  The details view has the command item display to none and the records in the details view should not be allowed to be edited, deleted or new records inserted.
My s that if I have a record selected in the details view and I click the edit button in the master table view it puts my details view in edit mode.  The details view records should not be able to be edited.  My master view grid is named  "Groups" and the details view is named "Users".  I thought I could could check for the e.Item.OwnerTableView.Name <> "Groups" and cancel the action if the tablename wasn't "Groups" but this did not work.  The tablename always returns "Groups".  I am guessing that I am not using the correct syntax to check if the details table has been selected.  So my question is what syntax should I use to check to see if the details view has been selected vs the master view?  The end result is that I am trying to prevent the Details view from going into edit mode when I click the Edit button on the master table view.

 

Case "EditSelected", "DeleteSelected"

 

 

If e.Item.OwnerTableView.Name <> "Groups" Or Me.rgvSecurityGroups.SelectedValue Is Nothing Then

 

 

Dim strMessage As String = "You must select a group before selecting this option."

 

 

Dim scriptstring As String = "radalert('" + strMessage + "', 330, 210, 'Missing Group');"

 

ScriptManager.RegisterStartupScript(

Me, Me.[GetType](), "radalert", scriptstring, True)

 

 

e.Canceled =

"true"

 

 

End If

 



3.  I have a grid that is a master/details view.  Both have a command item template that allows records to be added, edited or deleted.
If I select a record in the master grid and click the edit button, I get the following error message.
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Object reference not set to an instance of an object.

If I remove the command item template from the details view, I do not get the error.

Below is my code.
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/IPSMaster.Master" CodeBehind="WBC SYS Application Identifiers.aspx.vb" Inherits="IPS_Gateway.WBC_SYS_Application_Identifiers" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %>
    
<asp:Content ID="cntMain" ContentPlaceHolderID="cphMainContent" runat="server" >
<asp:SqlDataSource ID="SQLDS_Level1" runat="server"  ConnectionString="<%$ ConnectionStrings:IPSDataConnectionString %>"  
        SelectCommandType="StoredProcedure" SelectCommand="[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del]" >
        <SelectParameters>
            <asp:Parameter Name="strCommandType" Type="String" DefaultValue="Select" />
        </SelectParameters>
        <SelectParameters>
            <asp:Parameter Name="intLevelNumber" Type="Int16"  DefaultValue="1" />
        </SelectParameters>
</asp:SqlDataSource>
  
<asp:SqlDataSource ID="SQLDS_Level2" runat="server"  ConnectionString="<%$ ConnectionStrings:IPSDataConnectionString %>"  
        SelectCommandType="StoredProcedure" SelectCommand="[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del]" >
        <SelectParameters>
            <asp:Parameter Name="strCommandType" Type="String" DefaultValue="Select" />
        </SelectParameters>
        <SelectParameters>
            <asp:Parameter Name="intLevelNumber" Type="Int16"  DefaultValue="2" />
        </SelectParameters>
</asp:SqlDataSource>
  
<asp:SqlDataSource ID="SQLDS_Level3" runat="server"  ConnectionString="<%$ ConnectionStrings:IPSDataConnectionString %>"  
        SelectCommandType="StoredProcedure" SelectCommand="[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del]" >
        <SelectParameters>
            <asp:Parameter Name="strCommandType" Type="String" DefaultValue="Select" />
        </SelectParameters>
        <SelectParameters>
            <asp:Parameter Name="intLevelNumber" Type="Int16"  DefaultValue="3" />
        </SelectParameters>
</asp:SqlDataSource>
  
  
<asp:panel ID="pnlPage"             runat="server"  SkinId="skn_GPC01_Panel_MainContent">
    <asp:panel ID="pnlStatus"       runat="server"  CssClass="css_GPC01_Panel_Status">
        <asp:Label ID="lblReadOnly" runat="server"  Text="Read Only" CssClass="css_GPC01_Label_Status"/>
        <asp:Label ID="lblAdd"      runat="server"  Text="Add"       CssClass="css_GPC01_Label_Status"/>
        <asp:Label ID="lblEdit"     runat="server"  Text="Edit"      CssClass="css_GPC01_Label_Status"/>        
        <asp:Label ID="lblDelete"   runat="server"  Text="Delete"    CssClass="css_GPC01_Label_Status"/>
        <asp:Label ID="lblObject"   runat="server"  Text="Object"    CssClass="css_GPC01_Label_Status"/>
        <asp:HiddenField ID="hdfReadOnly"   runat="server" />
        <asp:HiddenField ID="hdfAdd"        runat="server" />
        <asp:HiddenField ID="hdfEdit"       runat="server" />
        <asp:HiddenField ID="hdfDelete"     runat="server" />
    </asp:panel>
        
    <asp:panel ID="pnlPageHeader"                runat="server"  cssClass="css_GPC01_Panel_PageHeading" >       
        <asp:Label ID="lblPageTitle"             runat="server"  CssClass="css_GPC01_Label_PageTitle" Text="Security Identifiers" />   
        <asp:ImageButton ID="ibtPageInformation" runat="server"  SkinID="skn_GPC01_ImageButton_PageInformation"  />
    </asp:panel>    
  
  
    <asp:panel ID="pnlPageContent"               runat="server"  cssClass="css_GPC01_Panel_PageContent" >     
        <asp:UpdatePanel ID="uppGrid" runat="server" >
            <ContentTemplate>
                                            
                <telerik:RadGrid ID="rgvApplicationIdentifiers"   runat="server"  DataSourceID="SQLDS_Level1" 
                                 EnableEmbeddedSkins="true"     Skin="WebBlue"
                                 EnableViewState="true"                 
                                 AutoGenerateColumns="False"
                                 AllowMultiRowSelection="false" 
                                 AllowAutomaticDeletes="True" 
                                 AllowAutomaticInserts="True"  
                                 AllowAutomaticUpdates="True"                                   
                                 AllowFilteringByColumn="False"  
                                 EnableLinqExpressions="false"
                                 AllowPaging="True" PageSize="50"                              
                                 height="560px" Width="1038px">
                    <PagerStyle AlwaysVisible="true" Mode="NextPrevAndNumeric" />
                    <ItemStyle Wrap="false" />
                      
                  <ClientSettings AllowColumnsReorder="false" EnablePostBackOnRowClick="true" AllowExpandCollapse="true"   >  
                        <Selecting AllowRowSelect="true" />
                        <Scrolling AllowScroll="true" UseStaticHeaders="true" />
                    </ClientSettings>
                    <MasterTableView DataSourceID="SQLDS_Level1" DataKeyNames="Level1Code, Level2Code, Level3Code, LevelNumber"    EnableViewState="true"  
                                       ExpandCollapseColumn-ButtonType ="ImageButton"
                                      ExpandCollapseColumn-CollapseImageUrl="../../App_Themes/Images/General/Expand Pale Blue 16.png"
                                      ExpandCollapseColumn-ExpandImageUrl= "../../App_Themes/Images/General/Expand Pale Blue 16.png"
  
                                     EditMode="InPlace"          CommandItemDisplay="Top"  Name="Level1" >
                        <CommandItemTemplate >
                            <div style="padding: 5px 5px;">
                                <asp:LinkButton ID="lbtAdd"           runat="server" CommandName="InitInsert"           ToolTip="Add New Group"               Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count = 0 or Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>'>     <asp:Image ID="imgAdd"           runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,AddRecord20%>" /> Add </asp:LinkButton>  
                                <asp:LinkButton ID="lbtEdit"          runat="server" CommandName="EditSelected"         ToolTip="Edit Group"                  Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count=0 and Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>'>     <asp:Image ID="imgEdit"          runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,EditRecord20%>"/> Edit </asp:LinkButton>  
                                <asp:LinkButton ID="lbtCancel"        runat="server" CommandName="CancelAll"            ToolTip="Cancel Edit/Add"             Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count > 0 Or rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>'>                              <asp:Image ID="imgCancel"        runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,CancelRecord20%>" /> Cancel </asp:LinkButton>  
                                <asp:LinkButton ID="lbtSaveNew"       runat="server" CommandName="PerformInsert"        ToolTip="Save New Group"              Visible='<%# rgvApplicationIdentifiers.MasterTableView.IsItemInserted%>'>                                                                         <asp:Image ID="imgSaveNew"       runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,SaveRecord20%>" /> Save New</asp:LinkButton>  
                                <asp:LinkButton ID="lbtDelete"        runat="server" CommandName="DeleteSelected"       ToolTip="Delete Group"                Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count=0 and Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>' OnClientClick="javascript:return confirm('You have selected to delete this user.<br>This process CANNOT BE UNDONE. <br> <br> Do you want to continue?')"> <asp:Image ID="imgDelete"        runat="server" CssClass="css_GFS01_Image_Align"  ImageURL="<%$ Resources:Images,DeleteRecord20%>" />Delete </asp:LinkButton>  
                                <asp:LinkButton ID="lbtSave"          runat="server" CommandName="UpdateEdited"         ToolTip="Save Changes"                Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count > 0 AND Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted%>'>                          <asp:Image ID="imgSave"          runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,SaveRecord20%>" />  Update </asp:LinkButton>  
                                <asp:LinkButton ID="lbtFilters"       runat="server" CommandName="ShowHideFilters"      style="position:absolute;left:800px;" ToolTip="Show/Hide Filters"           >                           <asp:Image ID="Image2" runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,Filter20%>" /> Show/Hide Filter</asp:LinkButton>  
                                <asp:LinkButton ID="lbtRefresh"       runat="server" CommandName="RebindGrid"           style="position:absolute;Left:930px;" >                                                                                                                                         <asp:Image id="imgRefresh"       runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$Resources:Images, ReloadBlue20 %>"  />Refresh Grid</asp:LinkButton>                     
                            </div>
                        </CommandItemTemplate>
                            <Columns>   
                                <telerik:GridBoundColumn     DataField="Level1Code"      UniqueName="Level1Code"             HeaderText="Id"            HeaderStyle-HorizontalAlign="Center"     HeaderStyle-Width="100px"   />
                                <telerik:GridTemplateColumn                                 HeaderText="Total Levels"  HeaderStyle-HorizontalAlign="Center"     HeaderStyle-Width="60px" ItemStyle-HorizontalAlign="Center">
                                     <ItemTemplate>
                                        <asp:Label ID="TotalLevels" runat="server" Text='<%# Bind("TotalLevels") %>' />
                                     </ItemTemplate>
                                     <EditItemTemplate>
                                        <telerik:RadComboBox runat="server" ID="rcbTotalLevels" 
                                                             AppendDataBoundItems="true"                    AutoPostBack="true"
                                                             EnableEmbeddedSkins="true"                     Skin="WebBlue"
                                                             Width="50px"                                  AllowCustomText="false" >                   
                                                               
                                            <Items>
                                                <telerik:RadComboBoxItem Text="2" />
                                                <telerik:RadComboBoxItem Text="3" />
                                            </Items>
                                        </telerik:RadComboBox>                                                                                                                                  
  
                                    </EditItemTemplate>
                                     <InsertItemTemplate>
                                        <telerik:RadComboBox runat="server" ID="rcbTotalLevelsInsert" 
                                                             AppendDataBoundItems="true"                    AutoPostBack="true"
                                                             EnableEmbeddedSkins="true"                     Skin="WebBlue"
                                                             Width="50px"                                  AllowCustomText="false" >                   
                                                               
                                            <Items>
                                                <telerik:RadComboBoxItem Text="2" />
                                                <telerik:RadComboBoxItem Text="3" />
                                            </Items>
                                        </telerik:RadComboBox>                                                                                                                                  
  
                                    </InsertItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridTemplateColumn HeaderText="Use Identifier Code?" HeaderStyle-Width="100px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
                                    <ItemTemplate>
                                        <asp:CheckBox ID="chkUseIdentifierCode" runat="server"  Checked='<%# Bind("UseIdentifierCode") %>'   />
                                    </ItemTemplate>
                                    <InsertItemTemplate>
                                        <asp:CheckBox ID="chkUseIdentifierCodeInsert" runat="server"   />
                                    </InsertItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridTemplateColumn HeaderText="Show In Sort?" HeaderStyle-Width="100px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
                                    <ItemTemplate>
                                        <asp:CheckBox ID="chkShowInSort" runat="server"  Checked='<%# Bind("ShowInSort") %>'  />
                                    </ItemTemplate>
                                    <InsertItemTemplate>
                                        <asp:CheckBox ID="chkShowInSortInsert" runat="server"   />
                                    </InsertItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridTemplateColumn HeaderText="Active?" HeaderStyle-Width="100px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
                                    <ItemTemplate>
                                        <asp:CheckBox ID="chkActiveFlag" runat="server"  Checked='<%# Bind("ActiveFlag") %>' />
                                    </ItemTemplate>
                                    <InsertItemTemplate>
                                        <asp:CheckBox ID="chkActiveFlagInsert" runat="server"   />
                                    </InsertItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridTemplateColumn HeaderStyle-Width="300px" ></telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="LevelNumber"     UniqueName="LevelNumber"    DefaultInsertValue="1"         Visible="false"  DataType="System.Int16" />
                            </Columns>
                            <DetailTables>
                                <telerik:GridTableView   DataKeyNames="Level1Code, Level2Code, Level3Code" HierarchyLoadMode="ServerOnDemand"  Name="Level2" EditMode="InPlace" CommandItemDisplay="Top" >
                                    <CommandItemTemplate >
                                        <div style="padding: 5px 5px;">
                                            <asp:LinkButton ID="lbtAdd"           runat="server" CommandName="InitInsert"           ToolTip="Add New Group"               Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count = 0 or Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>'>     <asp:Image ID="imgAdd"           runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,AddRecord20%>" /> Add </asp:LinkButton>  
                                            <asp:LinkButton ID="lbtEdit"          runat="server" CommandName="EditSelected"         ToolTip="Edit Group"                  Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count=0 and Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>'>     <asp:Image ID="imgEdit"          runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,EditRecord20%>"/> Edit </asp:LinkButton>  
                                            <asp:LinkButton ID="lbtCancel"        runat="server" CommandName="CancelAll"            ToolTip="Cancel Edit/Add"             Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count > 0 Or rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>'>                              <asp:Image ID="imgCancel"        runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,CancelRecord20%>" /> Cancel </asp:LinkButton>  
                                            <asp:LinkButton ID="lbtSaveNew"       runat="server" CommandName="PerformInsert"        ToolTip="Save New Group"              Visible='<%# rgvApplicationIdentifiers.MasterTableView.IsItemInserted%>'>                                                                         <asp:Image ID="imgSaveNew"       runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,SaveRecord20%>" /> Save New</asp:LinkButton>  
                                            <asp:LinkButton ID="lbtDelete"        runat="server" CommandName="DeleteSelected"       ToolTip="Delete Group"                Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count=0 and Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted %>' OnClientClick="javascript:return confirm('You have selected to delete this user.<br>This process CANNOT BE UNDONE. <br> <br> Do you want to continue?')"> <asp:Image ID="imgDelete"        runat="server" CssClass="css_GFS01_Image_Align"  ImageURL="<%$ Resources:Images,DeleteRecord20%>" />Delete </asp:LinkButton>  
                                            <asp:LinkButton ID="lbtSave"          runat="server" CommandName="UpdateEdited"         ToolTip="Save Changes"                Visible='<%# rgvApplicationIdentifiers.EditIndexes.Count > 0 AND Not rgvApplicationIdentifiers.MasterTableView.IsItemInserted%>'>                          <asp:Image ID="imgSave"          runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,SaveRecord20%>" />  Update </asp:LinkButton>  
                                            <asp:LinkButton ID="lbtFilters"       runat="server" CommandName="ShowHideFilters"      style="position:absolute;left:800px;" ToolTip="Show/Hide Filters"           >                           <asp:Image ID="Image2" runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$ Resources:Images,Filter20%>" /> Show/Hide Filter</asp:LinkButton>  
                                            <asp:LinkButton ID="lbtRefresh"       runat="server" CommandName="RebindGrid"           style="position:absolute;Left:930px;" >                                                                                                                                         <asp:Image id="imgRefresh"       runat="server" CssClass="css_GFS01_Image_Align" ImageURL="<%$Resources:Images, ReloadBlue20 %>"  />Refresh Grid</asp:LinkButton>                     
                                        </div>
                                    </CommandItemTemplate>
                                                <Columns>
                                        <telerik:GridBoundColumn DataField="Level1Code"          UniqueName="Level1Code"         Visible="false" />
                                        <telerik:GridBoundColumn DataField="Level2Code"          UniqueName="Level2Code"         HeaderText="Level 2 Code"            HeaderStyle-HorizontalAlign="Left"     HeaderStyle-Width="150px"  ItemStyle-HorizontalAlign="Left"     />
                                        <telerik:GridBoundColumn DataField="Level3Code"          UniqueName="Level3Code"         Visible="false"   />
                                        <telerik:GridBoundColumn DataField="IdentifierCode"      UniqueName="IdentifierCode" HeaderText="Identifier Code"   HeaderStyle-HorizontalAlign="Left"     HeaderStyle-Width="150px"   />
                                        <telerik:GridTemplateColumn HeaderText="Use Identifier Code?" HeaderStyle-Width="100px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                 
                                                <asp:CheckBox ID="chkUseIdentifierCode" runat="server"  Checked='<%# Bind("UseIdentifierCode") %>'   />
                                            </ItemTemplate>
                                            <InsertItemTemplate>
                                                <asp:CheckBox ID="chkUseIdentifierCodeInsert" runat="server"    />
                                            </InsertItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridTemplateColumn                                                      HeaderText="Show In Sort?"     HeaderStyle-HorizontalAlign="Center"   HeaderStyle-Width="100px"   ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:CheckBox ID="chkShowInSort" runat="server"  Checked='<%# Bind("ShowInSort") %>'   />
                                            </ItemTemplate>
                                            <InsertItemTemplate>
                                                <asp:CheckBox ID="chkShowInSortInsert" runat="server"   />
                                            </InsertItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridTemplateColumn                                                      HeaderText="Active?"           HeaderStyle-HorizontalAlign="Center"   HeaderStyle-Width="100px"   ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:CheckBox ID="chkActiveFlag" runat="server"  Checked='<%# Bind("ActiveFlag") %>' />
                                            </ItemTemplate>
                                            <InsertItemTemplate>
                                                <asp:CheckBox ID="chkActiveFlagInsert" runat="server"   />
                                            </InsertItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridBoundColumn DataField="LevelNumber"     UniqueName="LevelNumber"    DefaultInsertValue="2"         Visible="false"  DataType="System.Int16" />
                                        <telerik:GridBoundColumn DataField="TotalLevels"     UniqueName="TotalLevels"    DefaultInsertValue="0"         Visible="false"  DataType="System.Int16" />
                                    </Columns>
                                </telerik:GridTableView>
                              
                            </DetailTables>
                    </MasterTableView>
                </telerik:RadGrid>
                <telerik:GridTextBoxColumnEditor ID="gtcEditor1" runat="server" TextBoxStyle-Width="150px" />         <telerik:RadWindowManager ID="rwmMessageBox" runat="server" Behaviors="Close, Move"  EnableViewState="false" Animation="Slide" AnimationDuration="5"  Height="400" Width="400" VisibleOnPageLoad="true" DestroyOnClose="true"  Modal="true"   EnableEmbeddedSkins="true" Skin="Black" />
            </ContentTemplate>
        </asp:UpdatePanel>
  
    </asp:panel>
</asp:panel
</asp:Content>
Imports IPS_Gateway.CLS_Data_Retrieval
Imports IPS_Gateway.CLS_String_Functions
Imports Telerik.Web.UI
Imports System.Data.SqlClient
Imports System.Drawing
Partial Public Class WBC_SYS_Application_Identifiers
    Inherits System.Web.UI.Page
   
    Private Sub rgvApplicationIdentifiers_DeleteCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgvApplicationIdentifiers.DeleteCommand
  
        Dim GridItem As GridDataItem = DirectCast(e.Item, GridDataItem)
        Dim strLevel1 As String = GridItem.GetDataKeyValue("Level1Code")
        Dim strLevel2 As String = GridItem.GetDataKeyValue("Level2Code")
        Dim strLevel3 As String = GridItem.GetDataKeyValue("Level3Code")
        Dim intLevelNumber As Integer = 0
        Dim strLogonUser As String = Request.ServerVariables("AUTH_USER")
        Select Case e.Item.OwnerTableView.Name
            Case "Level1"
                intLevelNumber = 1
                Me.SQLDS_Level1.DeleteCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level1.DeleteCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Delete', '" + strLevel1 + "', '" + strLevel2 + "', '" + strLevel3 + "', " + intLevelNumber.ToString + ", NULL,  NULL, NULL, NULL, NULL, '" + strLogonUser + "'"
            Case "Level2"
                intLevelNumber = 2
                Me.SQLDS_Level2.DeleteCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level2.DeleteCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Delete', '" + strLevel1 + "', '" + strLevel2 + "', '" + strLevel3 + "', " + intLevelNumber.ToString + ", NULL,  NULL, NULL, NULL, NULL, '" + strLogonUser + "'"
            Case "Level3"
                intLevelNumber = 3
                Me.SQLDS_Level3.DeleteCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level3.DeleteCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Delete', '" + strLevel1 + "', '" + strLevel2 + "', '" + strLevel3 + "', " + intLevelNumber.ToString + ", NULL,  NULL, NULL, NULL, NULL, '" + strLogonUser + "'"
        End Select
    End Sub
  
    Protected Sub rgvApplicationIdentifiers_ItemDeleted(ByVal source As Object, ByVal e As Telerik.Web.UI.GridDeletedEventArgs) Handles rgvApplicationIdentifiers.ItemDeleted
   
        If Not e.Exception Is Nothing Then
            Dim GridItem As GridDataItem = DirectCast(e.Item, GridDataItem)
            Dim strMessage As String = "Identifier cannot be deleted. <br> Reason: " + e.Exception.Message
            Dim scriptstring As String = "radalert('" + strMessage + "', 330, 210, 'Error Deleting Identifier');"
            e.ExceptionHandled = True
            ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "radalert", scriptstring, True)
        End If
  
    End Sub
  
    Private Sub rgvApplicationIdentifiers_UpdateCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgvApplicationIdentifiers.UpdateCommand
        Dim ParentItem As GridDataItem
        Dim EditedItem As GridEditableItem = DirectCast(e.Item, GridEditableItem)
        Dim strLevel1 As String = Nothing
        Dim strLevel2 As String = "Unassigned"
        Dim strLevel3 As String = "Unassigned"
        Dim strIdentifierCode As String = Nothing
        Dim intLevelNumber As Integer = 0
        Dim intTotalLevels As Integer = 0
        Dim bitShowInSort As Boolean = Nothing
        Dim bitActiveFlag As Boolean = Nothing
        Dim strLogonUser As String = Request.ServerVariables("AUTH_USER")
        Dim strMessage As String = Nothing
        Dim scriptstring As String = "radalert('" + strMessage + "', 330, 210,'Invalid Field Value');"
        Select e.Item.OwnerTableView.Name
            Case "Level1"
                strLevel1 = DirectCast(EditedItem("Level1").Controls(0), TextBox).Text
                intLevelNumber = "1"
                intTotalLevels = DirectCast(EditedItem.FindControl("rcbTotalLevels"), RadComboBox).Text
                bitShowInSort = DirectCast(EditedItem.FindControl("chkShowInSort"), CheckBox).Checked
                bitActiveFlag = DirectCast(EditedItem.FindControl("chkActiveFlag"), CheckBox).Checked
                Me.SQLDS_Level1.UpdateCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level1.UpdateCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Update', '" + strLevel1 + "', '" + strLevel2 + "', '" + strLevel3 + "', '" + intLevelNumber.ToString + "', '" + intTotalLevels.ToString + "', '" + strIdentifierCode + "', '" + bitShowInSort.ToString + "', '" + bitActiveFlag.ToString + "', '" + strLogonUser + "'"
            Case "Level2"
                ParentItem = DirectCast(e.Item.OwnerTableView.ParentItem, GridDataItem)
                strLevel1 = DirectCast(ParentItem("Level1Code").Controls(0), TextBox).Text
                strLevel2 = DirectCast(EditedItem("Level2Code").Controls(0), TextBox).Text
                strIdentifierCode = DirectCast(EditedItem("IdentifierCode").Controls(0), TextBox).Text
                intLevelNumber = "2"
                bitShowInSort = DirectCast(EditedItem.FindControl("chkShowInSort"), CheckBox).Checked
                bitActiveFlag = DirectCast(EditedItem.FindControl("chkActiveFlag"), CheckBox).Checked
                Me.SQLDS_Level2.UpdateCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level2.UpdateCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Update', '" + strLevel1 + "', '" + strLevel2 + "', '" + strLevel3 + "', '" + intLevelNumber.ToString + "', '" + intTotalLevels.ToString + "', '" + strIdentifierCode + "', '" + bitShowInSort.ToString + "', '" + bitActiveFlag.ToString + "', '" + strLogonUser + "'"
            Case "Level3"
                ParentItem = DirectCast(e.Item.OwnerTableView.ParentItem, GridDataItem)
                strLevel1 = DirectCast(ParentItem("Level1Code").Controls(0), TextBox).Text
                strLevel2 = DirectCast(ParentItem("Level2Code").Controls(0), TextBox).Text
                strLevel3 = DirectCast(EditedItem("Level3Code").Controls(0), TextBox).Text
                strIdentifierCode = DirectCast(EditedItem("IdentifierCode").Controls(0), TextBox).Text
                intLevelNumber = "3"
                bitShowInSort = DirectCast(EditedItem.FindControl("chkShowInSort"), CheckBox).Checked
                bitActiveFlag = DirectCast(EditedItem.FindControl("chkActiveFlag"), CheckBox).Checked
                Me.SQLDS_Level3.UpdateCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level3.UpdateCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Update', '" + strLevel1 + "', '" + strLevel2 + "', '" + strLevel3 + "', '" + intLevelNumber.ToString + "', '" + intTotalLevels.ToString + "', '" + strIdentifierCode + "', '" + bitShowInSort.ToString + "', '" + bitActiveFlag.ToString + "', '" + strLogonUser + "'"
        End Select
  
    End Sub
  
    Protected Sub rgvApplicationIdentifiers_ItemUpdated(ByVal source As Object, ByVal e As Telerik.Web.UI.GridUpdatedEventArgs) Handles rgvApplicationIdentifiers.ItemUpdated
        If Not e.Exception Is Nothing Then
            Dim EditItem As GridEditableItem = DirectCast(e.Item, GridEditableItem)
            Dim strMessage As String = "Identifier cannot be updated. <br> Reason: " + e.Exception.Message
            Dim scriptstring As String = "radalert('" + strMessage + "', 250, 300, 'Error Updating Indentifier');"
            e.KeepInEditMode = True
            e.ExceptionHandled = True
            ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "radalert", scriptstring, True)
        End If
    End Sub
  
    Private Sub rgvApplicationIdentifiers_InsertCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgvApplicationIdentifiers.InsertCommand
        Dim ParentItem As GridDataItem
        Dim InsertItem As GridDataInsertItem = DirectCast(e.Item.OwnerTableView.GetInsertItem(), GridDataInsertItem)
        Dim strLevel1Code As String = Nothing
        Dim strLevel2 As String = "Unassigned"
        Dim strLevel3 As String = "Unassigned"
        Dim strIdentifierCode As String = "DEFAULT"
        Dim intLevelNumber As Integer = 0
        Dim intTotalLevels As Integer = 0
        Dim bitUseIdentifier As Boolean = Nothing
        Dim bitShowInSort As Boolean = Nothing
        Dim bitActiveFlag As Boolean = Nothing
        Dim strLogonUser As String = Request.ServerVariables("AUTH_USER")
        Dim strMessage As String = Nothing
        Dim scriptstring As String = "radalert('" + strMessage + "', 330, 210,'Invalid Field Value');"
        Select Case e.Item.OwnerTableView.Name
            Case "Level1"
                strLevel1Code = DirectCast(InsertItem("Level1Code").Controls(0), TextBox).Text
                intLevelNumber = 1
                intTotalLevels = DirectCast(InsertItem.FindControl("rcbTotalLevelsInsert"), RadComboBox).Text
                bitUseIdentifier = DirectCast(InsertItem.FindControl("chkUseIdentifierCodeInsert"), CheckBox).Checked
                bitShowInSort = DirectCast(InsertItem.FindControl("chkShowInSortInsert"), CheckBox).Checked
                bitActiveFlag = DirectCast(InsertItem.FindControl("chkActiveFlagInsert"), CheckBox).Checked
                Me.SQLDS_Level1.InsertCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level1.InsertCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Insert', '" + strLevel1Code + "', '" + strLevel2 + "', '" + strLevel3 + "', " + intLevelNumber.ToString + ", " + intTotalLevels.ToString + ", " + bitUseIdentifier.ToString + ", NULL, " + bitShowInSort.ToString + ", " + bitActiveFlag.ToString + ", '" + strLogonUser + "'"
            Case "Level2"
                ParentItem = DirectCast(e.Item.OwnerTableView.ParentItem, GridDataItem)
                strLevel1Code = DirectCast(ParentItem("Level1Code").Controls(0), TextBox).Text
                strLevel2 = DirectCast(InsertItem("Level2Code").Controls(0), TextBox).Text
                strIdentifierCode = DirectCast(InsertItem("IdentifierCode").Controls(0), TextBox).Text
                intLevelNumber = 2
                intTotalLevels = 0
                bitUseIdentifier = DirectCast(InsertItem.FindControl("chkUseIdentifierCodeInsert"), CheckBox).Checked
                bitShowInSort = DirectCast(InsertItem.FindControl("chkShowInSortInsert"), CheckBox).Checked
                bitActiveFlag = DirectCast(InsertItem.FindControl("chkActiveFlagInsert"), CheckBox).Checked
                Me.SQLDS_Level2.InsertCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level2.InsertCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Insert', '" + strLevel1Code + "', '" + strLevel2 + "', '" + strLevel3 + "', " + intLevelNumber.ToString + ", " + intTotalLevels.ToString + ", " + bitUseIdentifier.ToString + ", '" + strIdentifierCode + "', " + bitShowInSort.ToString + ", " + bitActiveFlag.ToString + ", '" + strLogonUser + "'"
            Case "Level3"
                ParentItem = DirectCast(e.Item.OwnerTableView.ParentItem, GridDataItem)
                strLevel1Code = DirectCast(ParentItem("Level1Code").Controls(0), TextBox).Text
                strLevel2 = DirectCast(ParentItem("Level2Code").Controls(0), TextBox).Text
                strLevel3 = DirectCast(InsertItem("Level3Code").Controls(0), TextBox).Text
                strIdentifierCode = DirectCast(InsertItem("IdentifierCode").Controls(0), TextBox).Text
                intLevelNumber = 3
                intTotalLevels = 0
                bitUseIdentifier = DirectCast(InsertItem.FindControl("chkUseIdentifierCodeInsert"), CheckBox).Checked
                bitShowInSort = DirectCast(InsertItem.FindControl("chkShowInSortInsert"), CheckBox).Checked
                bitActiveFlag = DirectCast(InsertItem.FindControl("chkActiveFlagInsert"), CheckBox).Checked
                Me.SQLDS_Level3.InsertCommandType = SqlDataSourceCommandType.Text
                Me.SQLDS_Level3.InsertCommand = "[Security].[DSP_SecurityIdentifiers-Sel-Ins-Upd-Del] 'Insert', '" + strLevel1Code + "', '" + strLevel2 + "', '" + strLevel3 + "', " + intLevelNumber.ToString + ", " + intTotalLevels.ToString + ", " + bitUseIdentifier.ToString + ", '" + strIdentifierCode + "', " + bitShowInSort.ToString + ", " + bitActiveFlag.ToString + ", '" + strLogonUser + "'"
        End Select
  
  
    End Sub
  
    Protected Sub rgvApplicationIdentifiers_ItemInserted(ByVal source As Object, ByVal e As Telerik.Web.UI.GridInsertedEventArgs) Handles rgvApplicationIdentifiers.ItemInserted
     
        If Not e.Exception Is Nothing Then
            Dim strMessage As String = "Identifier cannot be added. <br> Reason: " + e.Exception.Message
            Dim scriptstring As String = "radalert('" + strMessage + "', 330, 210, 'Error On Item Insert');"
            e.ExceptionHandled = True
            e.KeepInInsertMode = True
            ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "radalert", scriptstring, True)
        End If
    End Sub
  
    Private Sub WBC_SEC_Security_Groups_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            If Request("Source") IsNot Nothing Then
                If Request("Level1") <> "All" Then
                    SQLDS_Level1.SelectParameters.Add("strLevel1", Request("Level1"))
                    SQLDS_Level1.SelectParameters.Add("intLevelNumber", "2")
                    Me.lblPageTitle.Text = Request("Source") + " " + Request("Level1")
                Else
                    Me.lblPageTitle.Text = Request("Source") + " Identifiers"
                End If
                Dim strSelectCommand As String = "[" + Request("Source") + "].[DSP_" + Request("Source") + "Identifiers-Sel-Ins-Upd-Del]"
                Dim strSecurityString As String = If(Request("SecurityString") = Nothing, "1,0,0,0", Request("SecurityString"))
                Me.lblObject.Text = If(Request("ObjectId") = Nothing, "Unknown", Request("ObjectId"))
                Dim aryString As String() = strSecurityString.Split(",")
                hdfReadOnly.Value = aryString(0)
                Me.lblReadOnly.ForeColor = If(Me.hdfReadOnly.Value = False, Color.Gray, Color.Red)
                hdfAdd.Value = aryString(1)
                Me.lblAdd.ForeColor = If(Me.hdfAdd.Value = False, Color.Gray, Color.Red)
                hdfEdit.Value = aryString(2)
                Me.lblEdit.ForeColor = If(Me.hdfEdit.Value = False, Color.Gray, Color.Red)
                hdfDelete.Value = aryString(3)
                Me.lblDelete.ForeColor = If(Me.hdfDelete.Value = False, Color.Gray, Color.Red)
            End If
        End If
    End Sub
  
    Private Sub rgvApplicationIdentifiers_ItemCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgvApplicationIdentifiers.ItemCommand
  
        Select Case e.CommandName
            Case "ShowHideFilters"
                If rgvApplicationIdentifiers.AllowFilteringByColumn = True Then
                    rgvApplicationIdentifiers.AllowFilteringByColumn = False
                Else
                    rgvApplicationIdentifiers.AllowFilteringByColumn = True
                End If
                rgvApplicationIdentifiers.Rebind()
            Case "DeleteSelected"
                If rgvApplicationIdentifiers.SelectedValue Is Nothing Then
                    Dim strMessage As String = "You must select a row before selecting this option."
                    Dim scriptstring As String = "radalert('" + strMessage + "', 330, 210, 'Selected Row Is Null');"
                    ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "radalert", scriptstring, True)
                    e.Canceled = "true"
                End If
            Case "EditSelected"
  
                If rgvApplicationIdentifiers.SelectedValue Is Nothing Then
                    Dim strMessage As String = "You must select a row before selecting this option."
                    Dim scriptstring As String = "radalert('" + strMessage + "', 330, 210, 'Select Row Is Null');"
                    ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "radalert", scriptstring, True)
                    e.Canceled = "true"
                Else
  
                End If
            Case "RebindGrid"
                ViewState("FilterSecurityGroup") = "All"
                rgvApplicationIdentifiers.MasterTableView.FilterExpression = ""
                rgvApplicationIdentifiers.MasterTableView.Rebind()
        End Select
  
    End Sub
  
    Private Sub rgvApplicationIdentifiers_DetailTableDataBind(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles rgvApplicationIdentifiers.DetailTableDataBind
        Dim ParentRow As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem)
        Dim strLevel1 As String = ParentRow.GetDataKeyValue("Level1Code")
        Dim strLevel2 As String = ParentRow.GetDataKeyValue("Level2Code")
        If e.DetailTableView.Name = "Level2" Then
            SQLDS_Level2.SelectParameters.Clear()
            SQLDS_Level2.SelectParameters.Add("strLevel1", strLevel1)
            SQLDS_Level2.SelectParameters.Add("intLevelNumber", "2")
            e.DetailTableView.DataSource = SQLDS_Level2
        ElseIf e.DetailTableView.Name = "Level3" Then
            SQLDS_Level3.SelectParameters.Clear()
            SQLDS_Level3.SelectParameters.Add("strLevel1", strLevel1)
            SQLDS_Level3.SelectParameters.Add("strLevel2", strLevel2)
            SQLDS_Level3.SelectParameters.Add("intLevelNumber", "3")
            e.DetailTableView.DataSource = SQLDS_Level3
        End If
    End Sub
  
   
  
    Private Sub rgvApplicationIdentifiers_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgvApplicationIdentifiers.ItemDataBound
        If (TypeOf e.Item Is GridEditableItem) AndAlso (e.Item.IsInEditMode) AndAlso (Not e.Item.OwnerTableView.IsItemInserted) Then
            Dim edititem As GridEditableItem = DirectCast(e.Item, GridEditableItem)
            edititem("Level1Code").Enabled = False
        End If
  
    End Sub
End Class


Thank you for your assistance.

Tracy
Princy
Top achievements
Rank 2
 answered on 21 Mar 2011
2 answers
218 views
Hello,

Is it possible to turn off the RadTreeList header either via CSS or through code-behind?

Thanks in advance!
Paul Davies
Top achievements
Rank 1
 answered on 21 Mar 2011
1 answer
57 views
Hi,

Is it possible to show customizable time slots in the Day View.
e.g. by default the time difference between each row is 1 hr, can I make it 30 minutes in Day View (not Timeline view)

Thanks
Veronica
Telerik team
 answered on 21 Mar 2011
9 answers
572 views
Hello,

I have three dropdownlists that filter each other, so, in order to avoid full postbacks i used ur RadAjaxManager. I am getting the following error on some machines:

Sys.WebForms.PageRequestManagerServerErrorException. An error ocurred while processing the request on the server. The Status code returned was:500

Sometimes i get the error.. and it makes it very dificult to debug, because i dont get it even once on my machine and some clients get it..
Sebastian
Telerik team
 answered on 21 Mar 2011
5 answers
269 views
Hello, I am experiencing a bizarre problem in my radgrid's rendering behavior in IE8 Compatibility Mode and Google Chrome browsers, in Firefox 3.5 and IE 8 it works perfectly.  For some reason, the radgrid renders itself at the bottom of the containing panel (IE8 Compatibility Mode) or its header expands indefinitely horizontally (Chrome).  I am including the following screenshots of the mentioned problems so  that you can aid me in solving this more effitiently.  Thanx!!

Tsvetina
Telerik team
 answered on 21 Mar 2011
9 answers
139 views
Hello,

I recently upgraded to Telerik.Web.UI_2008_3_1327_dev_hotfix. As soon as I did this all RadWindows in Firefox "jump around" and "flash" on the screen.  I made a test solution using an older Telerik.Web.UI.DLL and the RadWindow worked fine. Simply changing to the newest .DLL made the radwindow practically unusable in FireFox.

In IE it works/looks just fine.

Is this already a known issue? When can we expect a fix?

Thanks,
ethan

Georgi Tunev
Telerik team
 answered on 21 Mar 2011
3 answers
104 views

Hi

 

 

Hi apologies if this is a silly question but i have searched the forums and help and can’t find an example

 

I’m using a radgrid with a EditFormType="Template" in the template i have a  date picker and 2 timepickers. I would like when i change the datepicker on the postback this updates the selected date of the time pickers.  I’ve found lots of examples of how to access the controls when ItemDataBound is called but how can i reference other editform controls programmatically once the editform is showing?

 

The grid is bound to a sql datasource and the updates and inserts are working perfectly bar the time picker bringing in todays date rather than the date set by the separate  date picker.

 


 

Many thanks in advance

Ross

Princy
Top achievements
Rank 2
 answered on 21 Mar 2011
1 answer
49 views
Hi,

    Issue related to Image Manager dialogue, here first time when i add image to editor content area it works. But then i try to open second time i notice issue, like image manager dialogue it self doesn't open at all. Where as other dialogue boxes like document manager etc., are working fine.

   This is strange issue, well after clearing browser content i retried image manager dialogue works fine able to upload image, tried to open as many times. But once i add image to editor content area and save content, after that if i open editor and open image manager dialogue it doesn't work again.

  Once i have also noticed issue with b.parentnode() is not getting detected.

Please let me why this kind of issue is happening, its very critical and answer me as soon as possible.

please let me even know do you have any online chat option.
Dobromir
Telerik team
 answered on 21 Mar 2011
3 answers
264 views
Hi guys
I am using file explorer to select the location to create an sql backup in c sharp. I want to explore file and folders in c drive and other drives. How is it possible?.
I use

string[] viewPaths = new string[]
                {                  
                   @"~/"
                };

FileExplorer1.Configuration.SearchPatterns = new[] { "*.bak" };
FileExplorer1.Configuration.ViewPaths = viewPaths;


in page load, in this way I can only explore from root of the project.
I want to explore C: and others drives.
Anybody can help me?
Thanks
Ben
Dobromir
Telerik team
 answered on 21 Mar 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?