Telerik Forums
UI for ASP.NET AJAX Forum
0 answers
250 views
Hi
I have a grid with  CommandItemTemplate.there are button in CommandItemTemplate for example Insert button ,Save button ,etc
when i am in edit mode and i click save button there is an erro.code in save button is here

 

 

 

protected void dgdZone_InsertCommand(object sender, GridCommandEventArgs e)

 

{

 

 

Hashtable newValues = new Hashtable();

 

 

 

GridEditableItem editedItem = e.Item as GridEditableItem;

 

e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editedItem);

objZone.SelectAll();

 

 

if (objZone.dtblZone.Select("strName='" + newValues["strName"].ToString() + "'").Length == 0)

 

{

objZone.StrName = newValues[

 

"strName"].ToString();

 

objZone.StrAddress = newValues[

 

"strAddress"].ToString();

 

objZone.Insert();

}

 

 

else

 

{

}

}

 newValues is null therefor cause this error
Object reference not set to an instance of an object.
my code page is here


 

<

 

 

body>

 

 

 

 

 

 

 

 

<form id="form1" method="post" runat="server">

 

 

 

 

 

 

 

 

<div>

 

 

 

 

 

 

 

 

 

<telerik:RadScriptManager ID="RadScriptManager1" Runat="server">

 

 

 

 

 

 

 

 

</telerik:RadScriptManager>

 

 

 

 

 

 

 

 

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">

 

 

 

 

 

 

 

 

<AjaxSettings>

 

 

 

 

 

 

 

 

<telerik:AjaxSetting AjaxControlID="dgdZone">

 

 

 

 

 

 

 

 

<UpdatedControls>

 

 

 

 

 

 

 

 

<telerik:AjaxUpdatedControl ControlID="dgdZone" />

 

 

 

 

 

 

 

 

</UpdatedControls>

 

 

 

 

 

 

 

 

</telerik:AjaxSetting>

 

 

 

 

 

 

 

 

</AjaxSettings>

 

 

 

 

 

 

 

 

</telerik:RadAjaxManager>

 

 

 

 

 

 

 

 

<telerik:RadGrid ID="dgdZone" runat="server" AutoGenerateColumns="False" MasterTableView-Dir="RTL"

 

 

 

CellSpacing="0" GridLines="None" Width="50%" AutoGenerateHierarchy="True"

 

 

 

Skin="Outlook" onneeddatasource="dgdZone_NeedDataSource"

 

 

 

oninsertcommand="dgdZone_InsertCommand"

 

 

 

onupdatecommand="dgdZone_UpdateCommand" ondeletecommand="dgdZone_DeleteCommand">

 

 

 

 

 

 

 

 

<ClientSettings>

 

 

 

 

 

 

 

 

<Selecting AllowRowSelect="True" EnableDragToSelectRows="True" />

 

 

 

 

 

 

 

 

</ClientSettings>

 

 

 

 

 

 

 

 

<ExportSettings FileName="ErikaGridExport">

 

 

 

 

 

 

 

 

</ExportSettings>

 

 

 

 

 

 

 

 

<ClientSettings>

 

 

 

 

 

 

 

 

<Selecting AllowRowSelect="True" />

 

 

 

 

 

 

 

 

</ClientSettings>

 

<

 

 

MasterTableView HierarchyLoadMode="Client" CommandItemDisplay="Top" Dir="RTL" EditMode="EditForms" Font-Names="Tahoma">

 

<

 

 

CommandItemTemplate>

 

 

 

 

 

 

 

 

 

<telerik:RadButton ID="btnEdit" CommandName="EditSelected" runat="server" Skin="Office2007" Font-Names="tahoma" Font-Size="8.5pt" Visible='<%# dgdZone.EditIndexes.Count == 0 %>' Text="ویرایش">

 

 

 

 

 

 

 

 

</telerik:RadButton>

 

 

 

 

 

 

 

 

<telerik:RadButton ID="btnCancel" CommandName="CancelAll" runat="server" Skin="Office2010Blue" Font-Names="tahoma" Font-Size="8.5pt" Text="انصراف" Visible='<%# dgdZone.EditIndexes.Count > 0 || dgdZone.MasterTableView.IsItemInserted %>'></telerik:RadButton>

 

 

 

<telerik:RadButton ID="btnSave" CommandName="UpdateEdited" runat="server" Skin="Office2010Blue" Font-Names="tahoma" Font-Size="8.5pt" Text="ذخیره" Visible='<%# dgdZone.EditIndexes.Count > 0 %>'></telerik:RadButton>

 

 

 

<telerik:RadButton ID="btnNew" CommandName="InitInsert" runat="server" Skin="Office2010Blue" Font-Names="tahoma" Font-Size="8.5pt" Text="منطقه جدید" Visible='<%# !dgdZone.MasterTableView.IsItemInserted %>'></telerik:RadButton>

 

 

 

<telerik:RadButton ID="btnSaveNewItem" CommandName="PerformInsert" Skin="Office2010Blue" Font-Names="tahoma" Font-Size="8.5pt" runat="server" Text="ثبت منطقه جدید" Visible='<%# dgdZone.MasterTableView.IsItemInserted %>'></telerik:RadButton>

 

 

 

<telerik:RadButton ID="btnDelete" CommandName="DeleteSelected" Skin="Office2010Blue" Font-Names="tahoma" Font-Size="8.5pt" runat="server" Text="حذف"></telerik:RadButton>

 

<%

 

--<telerik:RadToolBar ID="RadToolBar1" runat="server" OnClientButtonClicking="onToolBarClientButtonClicking" OnButtonClick="RadToolBar1_ButtonClick" Skin="Outlook">

 

<Items>

 

<telerik:RadToolBarButton Text="ویرایش" Font-Names="Tahoma" CommandName="EditSelected" ImageUrl="StyleStandars/Images/users_into.png" Visible='<%# dgdZone.EditIndexes.Count == 0 %>'></telerik:RadToolBarButton>

<telerik:RadToolBarButton Text="ذخیره" CommandName="UpdateEdited" ImageUrl="StyleStandars/Images/users_into.png" Visible='<%# dgdZone.EditIndexes.Count > 0 %>'></telerik:RadToolBarButton>

<telerik:RadToolBarButton Text="انصراف" CommandName="CancelAll" ImageUrl="StyleStandars/Images/users_into.png" Visible='<%# dgdZone.EditIndexes.Count > 0 || dgdZone.MasterTableView.IsItemInserted %>'></telerik:RadToolBarButton>

<telerik:RadToolBarButton Text="منطقه جدید" CommandName="InitInsert" ImageUrl="StyleStandars/Images/users_into.png" Visible='<%# !dgdZone.MasterTableView.IsItemInserted %>'></telerik:RadToolBarButton>

<telerik:RadToolBarButton Text="ثبت منطقه جدید" CommandName="PerformInsert" ImageUrl="StyleStandars/Images/users_into.png" Visible='<%# dgdZone.MasterTableView.IsItemInserted %>'></telerik:RadToolBarButton>

<telerik:RadToolBarButton Text="حذف" CommandName="DeleteSelected" ImageUrl="StyleStandars/Images/users_into.png"></telerik:RadToolBarButton>

<telerik:RadToolBarButton Text="بازآوری" CommandName="RebindGrid" ImageUrl="StyleStandars/Images/users_into.png"></telerik:RadToolBarButton>

</Items>

</telerik:RadToolBar>--

 

 

%>

 

 

 

</CommandItemTemplate>

 

 

 

 

 

 

<

 

 

CommandItemSettings ExportToPdfText="Export to PDF" ShowExportToExcelButton="True"

 

 

 

ShowExportToPdfButton="True"></CommandItemSettings>

 

 

 

 

 

 

<

 

 

RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">

 

<

 

 

HeaderStyle Width="20px"></HeaderStyle>

 

</

 

 

RowIndicatorColumn>

 

 

 

 

 

 

<

 

 

ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">

 

<

 

 

HeaderStyle Width="20px"></HeaderStyle>

 

</

 

 

ExpandCollapseColumn>

 

 

 

 

 

 

 

 

<Columns >

 

 

 

 

 

 

 

 

<telerik:GridTemplateColumn DataField="strName"

 

 

 

FilterControlAltText="Filter strName column" HeaderText="نام منطقه"

 

 

 

UniqueName="strName">

 

 

 

 

 

 

 

 

<EditItemTemplate>

 

 

 

 

 

 

 

 

 

<telerik:RadTextBox ID="strNameTextBox" Skin="Office2010Blue" Font-Names="Tahoma" Text='<%# Bind("strName") %>' runat="server">

 

 

 

 

 

 

 

 

</telerik:RadTextBox>

 

 

 

 

 

 

 

 

</EditItemTemplate>

 

 

 

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

 

 

 

<asp:Label ID="strNameLabel" runat="server" Text='<%# Eval("strName") %>'></asp:Label>

 

 

 

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

 

 

 

<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />

 

 

 

 

 

 

 

 

<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />

 

 

 

 

 

 

 

 

</telerik:GridTemplateColumn>

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="iNumber"

 

 

 

FilterControlAltText="Filter iNumber column" UniqueName="iNumber"

 

 

 

ForceExtractValue="Always" Visible="False" ReadOnly="True">

 

 

 

 

 

 

 

 

</telerik:GridBoundColumn>

 

 

 

 

 

 

 

 

<telerik:GridTemplateColumn DataField="strAdress"

 

 

 

FilterControlAltText="Filter strAdress column" HeaderText="آدرس"

 

 

 

UniqueName="strAddress">

 

 

 

 

 

 

 

 

<EditItemTemplate>

 

 

 

 

 

 

 

 

 

<telerik:RadTextBox ID="strAdressTextBox" Skin="Office2010Blue" Width="400px" Font-Names="Tahoma" Text='<%# Bind("strAddress") %>' runat="server">

 

 

 

 

 

 

 

 

</telerik:RadTextBox>

 

 

 

 

 

 

 

 

</EditItemTemplate>

 

 

 

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

 

 

 

<asp:Label ID="strAdressLabel" runat="server" Text='<%# Eval("strAddress") %>'></asp:Label>

 

 

 

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

 

 

 

<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="400px" />

 

 

 

 

 

 

 

 

<ItemStyle Width="400px" />

 

 

 

 

 

 

 

 

</telerik:GridTemplateColumn>

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="iParentNumber"

 

 

 

FilterControlAltText="Filter iParentNumber column" ForceExtractValue="Always"

 

 

 

UniqueName="iParentNumber" Visible="False" ReadOnly="True">

 

 

 

 

 

 

 

 

</telerik:GridBoundColumn>

 

 

 

 

 

 

 

 

</Columns>

 

 

 

 

 

 

 

 

<EditFormSettings>

 

<

 

 

EditColumn UniqueName="EditCommandColumn1" Visible="false" ButtonType="PushButton" InsertText="ذخیره" UpdateText="ذخیره"

 

 

 

 

 

 

 

 

CancelText="انصراف"></EditColumn>

 

 

 

 

 

 

 

 

<FormMainTableStyle Font-Names="tahoma" Font-Size="9pt"/>

 

 

 

 

 

 

 

 

<FormTableStyle Font-Names="tahoma" Font-Size="9pt"/>

 

 

 

 

 

</

 

 

EditFormSettings>

 

 

 

 

 

 

 

 

<EditItemStyle Font-Names="Tahoma" />

 

<

 

 

EditFormSettings>

 

<

 

 

EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>

 

</

 

 

EditFormSettings>

 

</

 

 

MasterTableView>

 

 

 

 

 

 

<

 

 

FilterMenu EnableImageSprites="False">

 

<

 

 

WebServiceSettings>

 

<

 

 

ODataSettings InitialContainerName=""></ODataSettings>

 

</

 

 

WebServiceSettings>

 

</

 

 

FilterMenu>

 

 

 

 

 

 

<

 

 

HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">

 

<

 

 

WebServiceSettings>

 

<

 

 

ODataSettings InitialContainerName=""></ODataSettings>

 

</

 

 

WebServiceSettings>

 

</

 

 

HeaderContextMenu>

 

 

 

 

 

 

 

 

</telerik:RadGrid>

 

 

 

 

 

 

 

 

</div>

 

 

 

 

 

 

 

 

</form>

 

</

 

 

body>
Please help to me
Thanks

 

Salman
Top achievements
Rank 1
 asked on 23 Dec 2011
2 answers
178 views
I have a class that inherits from GridBoundColumn (TextFilterButtonColumn.cs) in order to add some custom filtering. I then use TextFilterButtonColumn to create columns within a RadGrid. I would like to add a click event to each item in the column. I've done the following within TextFilterButtonColumn.cs:

public override void Initialize()
{
    base.Initialize();
    Owner.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "Common.js");
}
public override void PrepareCell(TableCell cell, GridItem item)
{
    base.PrepareCell(cell, item);
    if (!(item is GridDataItem)) return;
    var clickScript = string.Format("javascript:tfbc_Click('{0}','{1}');", this.Owner.ClientID, CommandName);
    var linkButton = new HtmlAnchor() { ID = "lnk", InnerText = cell.Text, HRef = clickScript };
    cell.Controls.Clear();
    cell.Controls.Add(linkButton);
}

In the Common.js file I have the following function:

function tfbc_Click(owner, command, argument) {
    $find(owner).fireCommand(command, argument);
}

This click event is then accessed inside of the RadGrid ItemCommand event by setting the CommandName property of the GridBoundColumn to "commandName" and checking for it:

if(e.CommandName == "commandName")
{
    var item = (GridDataItem) e.Item;
    var strKey = item.GetDataKeyValue("Id").ToString();
    var control = (Details)Page.LoadControl("~/Controls/Details.ascx");
    control.Id = long.Parse(strKey);
    MPS.AddPopup(control);
}

I was hoping to access the Id of the row that the radgrid is bound to by calling GetDataKeyValue however this always returns 1. Is there a way to access information regarding the datasource for that row in the ItemCommand event? Or is there another way to accomplish this? Thanks.
Joseph
Top achievements
Rank 1
 answered on 23 Dec 2011
1 answer
162 views
hi

ClientEvents-OnRequestStart and  ClientEvents-OnResponseEnd is not working if the controls that i am calling is inside the panel that is disabled and i cannot postback the page using my submit button

For example

ClientEvents-OnRequestStart="ClearNameMsg" ClientEvents-OnResponseEnd="RadManagerResponseEnd"
      function ClearNameMsg() {     
                  document.getElementById("<%=CustomDomainTxt.ClientID %>").disabled = true;
                  document.getElementById("<%=SubDomainTxt.ClientID %>").disabled = true;
              }

         function RadManagerResponseEnd() {
                  document.getElementById("<%=CustomDomainTxt.ClientID %>").disabled = false;
                 document.getElementById("<%=SubDomainTxt.ClientID %>").disabled = false;
              }

one of the two textboxes are inside a panel that is disabled. when i click the button submit. I cannot proceed. when i commented out this
       document.getElementById("<%=CustomDomainTxt.ClientID %>").disabled = false;
                 document.getElementById("<%=SubDomainTxt.ClientID %>").disabled = false;
      document.getElementById("<%=CustomDomainTxt.ClientID %>").disabled = true;
                  document.getElementById("<%=SubDomainTxt.ClientID %>").disabled = true;

Everything is working fine again. any help
Andrey
Telerik team
 answered on 23 Dec 2011
1 answer
312 views
Is there a graceful way to prevent a form from being submitted while there is a file uploading via RadAsyncUpload?  I'm not fond of disabling the submit button or anything of that nature.  I'm thinking more along the lines of allowing the submit button to be clicked, and a loading panel displays until the file is finished uploading and the form is submitted.  I'm using ajax, so I need to use the AsyncUpload (otherwise I'd just use RadUpload and be done with it).  Any suggestions?
Dimitar Terziev
Telerik team
 answered on 23 Dec 2011
7 answers
279 views
I would like to customize the InsertTable dropdown tool by removing much of the functionality. I just want the tool to allow users to add a table, and add/delete rows and columns. I want to remove the table wizard and all the formatting capabilities (fonts, sizes, colors, backgrounds, borders, etc.).

I see the dialog code for each of the details (Table Wizard, Table Properties, Cell Properties) but I don't see anywhere that I can change the dropdown. Is that possible?


OK, I made progress on this. The InsertTable item is a button, so there isn't any dialog and it's not a dropdown, so I can't remove child items. I edited the TableWizard dialog, set the whole table to display:none, and added a div above the table with text that says these features are not available. So that meets my immediate need, because all the settings I don't want are in the TableWizard dialog.

So now the question is less urgent, because I have most of a solution. Does anyone know if there's any way to remove the Table Wizard, Table Properties and Cell Properties links from the InsertTable button? It would be better if the user could not make an invalid choice. But this doesn't seem likely to be something I can modify.
Richard
Top achievements
Rank 1
 answered on 23 Dec 2011
3 answers
116 views
Hello,

I am using a grid that opens for editing.  I am using "editforms" for EditMode.  However, it loads the controls vertically when the grid opens for editing.  I have a several controls so I would like to display them side by side (horizontally).  Is that possible?

Thanks,
Tom
Thomas
Top achievements
Rank 1
 answered on 23 Dec 2011
3 answers
136 views
Hello All,

my filter is combobox: template with 2 columns instead of value 'All' is empty (see Attachment). It works correctly.
how can I get value 'All' on the top.

<telerik:GridTemplateColumn DataField="Type"
            FilterControlAltText="Filter TypeName column" HeaderText="<%$Resources:Texte, Type%>"
            SortExpression="Type" UniqueName="Type">
           <ItemTemplate>
              <asp:Label ID="Label1" runat="server" ToolTip='<%#Bind("TypeName")%>' Text='<%# Bind("Type") %>'></asp:Label>
           </ItemTemplate>
 
            <FilterTemplate>
                <telerik:RadComboBox ID="RadComboBoxCode" DataSourceID="SqlDataSource2" DataTextField="Code" Width="100px"
                    DataValueField="Code" Height="100px" AppendDataBoundItems="true" SelectedValue='<%# TryCast(Container,GridItem).OwnerTableView.GetColumn("Type").CurrentFilterValue %>'
                    runat="server" OnClientSelectedIndexChanged="TypeIndexChanged" DropDownWidth="350px">
                    <Items>
                        <telerik:RadComboBoxItem Text="All"/>
                    </Items>
                    <ItemTemplate>
                        <table style="width: 300px" cellspacing="0" cellpadding="0">
                            <tr>
                                <td style="width: 80px;">
                                        <%# Eval("Code")%>
                                </td>
                                <td style="width: 200px;">
                                    <%# Eval("CName")%>
                                </td>
                            </tr>
                        </table>
                    </ItemTemplate>
                </telerik:RadComboBox>
                <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">
 
                    <script type="text/javascript">
                        function TypeIndexChanged(sender, args) {
                            var tableView = $find("<%# TryCast(Container,GridItem).OwnerTableView.ClientID %>");
                            tableView.filter("Type", args.get_item().get_value(), "EqualTo");
                        }
                    </script>
 
                </telerik:RadScriptBlock>
            </FilterTemplate>
        </telerik:GridTemplateColumn>
Marcus
Top achievements
Rank 1
 answered on 23 Dec 2011
1 answer
63 views
Hi ,


I have implemented a page with multiple rad panes and splitters. The Panes are adjusted according to my monitor resolution. (as it is not accepting the height and width values in terms of percentage)

The issue is..

When it was opened on another screen resolution, everything appears quite ugly.(due to the width and height of the panes)

can you please provide us a solution where the size of the panes should adjust according to the screen of the monitor.

Thanks in advance !,


regards,
Prasad.
Svetlina Anati
Telerik team
 answered on 23 Dec 2011
4 answers
132 views
Although there is really very good client-side support in Telerik controls, I can't find the way to subscribe AjaxManager OnResponseEnd/OnRequestStart events on client-side. The only way that I see is to do this on server-side (via codebehind or via declaration).
Could you please clarify if there is any way to subscribe to these events on client-side?
Andrey
Telerik team
 answered on 23 Dec 2011
1 answer
175 views
Hello,
I have created my own skin that I applied with this :
EnableEmbeddedSkins="false" Skin="Oreo"

when the page is displayed in the browser, it looks like there is 2 css classes applied : radgrid and radgrid_Oreo. But radgrid seems to take the advantage on the other. When i remove radgrid with firebug, my skin is applied.

Here is my skin:
.RadGrid_Oreo {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 1px solid #828282;
    color: #333333;
}
.RadGrid_Oreo, .RadGrid_Oreo .rgMasterTable, .RadGrid_Oreo .rgDetailTable, .RadGrid_Oreo .rgGroupPanel table, .RadGrid_Oreo .rgCommandRow table, .RadGrid_Oreo .rgEditForm table, .GridToolTip_Oreo {
    font: 12px/16px "segoe ui",arial,sans-serif;
}
.RadGrid_Oreo .rgMasterTable, .RadGrid_Oreo .rgDetailTable {
    border-collapse: separate;
}
.RadGrid_Oreo .rgRow, .RadGrid_Oreo .rgAltRow, .RadGrid_Oreo .rgHeader, .RadGrid_Oreo .rgResizeCol, .RadGrid_Oreo .rgPager, .RadGrid_Oreo .rgGroupPanel, .RadGrid_Oreo .rgGroupHeader {
    cursor: default;
}
.RadGrid_Oreo input[type="image"] {
    cursor: pointer;
}
.RadGrid_Oreo .rgRow td, .RadGrid_Oreo .rgAltRow td, .RadGrid_Oreo .rgEditRow td, .RadGrid_Oreo .rgFooter td, .RadGrid_Oreo .rgFilterRow td, .RadGrid_Oreo .rgHeader, .RadGrid_Oreo .rgResizeCol, .RadGrid_Oreo .rgGroupHeader td {
    padding-left: 7px;
    padding-right: 7px;
}
.RadGrid_Oreo .rgAdd, .RadGrid_Oreo .rgRefresh, .RadGrid_Oreo .rgEdit, .RadGrid_Oreo .rgDel, .RadGrid_Oreo .rgFilter, .RadGrid_Oreo .rgPagePrev, .RadGrid_Oreo .rgPageNext, .RadGrid_Oreo .rgPageFirst, .RadGrid_Oreo .rgPageLast, .RadGrid_Oreo .rgExpand, .RadGrid_Oreo .rgCollapse, .RadGrid_Oreo .rgSortAsc, .RadGrid_Oreo .rgSortDesc, .RadGrid_Oreo .rgUpdate, .RadGrid_Oreo .rgCancel, .RadGrid_Oreo .rgUngroup {
    background-color: transparent;
    background-image: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437");
    background-repeat: no-repeat;
    border: 0 none;
    cursor: pointer;
    font-size: 1px;
    height: 16px;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    width: 16px;
}
.RadGrid_Oreo .rgGroupItem input, .RadGrid_Oreo .rgCommandRow img, .RadGrid_Oreo .rgHeader input, .RadGrid_Oreo .rgFilterRow img, .RadGrid_Oreo .rgFilterRow input, .RadGrid_Oreo .rgPager img {
    vertical-align: middle;
}
.RadGrid_Oreo .rgHeaderDiv {
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -5900px #EEEEEE;
}
.rgTwoLines .rgHeaderDiv {
    background-position: 0 -6200px;
}
.rgNoScrollImage .rgHeaderDiv {
    background-image: none;
}
.RadGrid_Oreo .rgHeader, .RadGrid_Oreo th.rgResizeCol {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -2300px #EAEAEA;
    border-color: -moz-use-text-color -moz-use-text-color #828282;
    border-style: none none solid;
    border-width: 0 0 1px;
    font-weight: normal;
    padding-bottom: 4px;
    padding-top: 5px;
    text-align: left;
}
.RadGrid_Oreo th.rgSorted {
    background-color: #C4C4C4;
    background-position: 0 -2600px;
}
.RadGrid_Oreo .rgHeader, .RadGrid_Oreo .rgHeader a {
    color: #333333;
    text-decoration: none;
}
.RadGrid_Oreo .rgCheck {
    height: 15px;
    margin: 0;
    padding: 0;
}
.RadGrid_Oreo .rgRow td, .RadGrid_Oreo .rgAltRow td, .RadGrid_Oreo .rgEditRow td, .RadGrid_Oreo .rgFooter td {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: -moz-use-text-color;
    border-style: none none solid;
    border-width: 0 0 1px;
    padding-bottom: 0;
    padding-top: 0;
}
.RadGrid_Oreo .rgRow td {
    border-color: #FFFFFF;
}
.RadGrid_Oreo .rgAltRow {
    background: none repeat scroll 0 0 #F2F2F2;
}
.RadGrid_Oreo .rgAltRow td {
    border-color: #F2F2F2;
}
.RadGrid_Oreo .rgRow .rgSorted {
    background-color: #F2F2F2;
    border-bottom-color: #F2F2F2;
}
.RadGrid_Oreo .rgAltRow .rgSorted {
    background-color: #E6E6E6;
    border-bottom-color: #E6E6E6;
}
.RadGrid_Oreo .rgSelectedRow .rgSorted, .RadGrid_Oreo .rgActiveRow .rgSorted, .RadGrid_Oreo .rgHoveredRow .rgSorted, .RadGrid_Oreo .rgEditRow .rgSorted {
    background-color: transparent;
}
.RadGrid_Oreo .rgRow a, .RadGrid_Oreo .rgAltRow a, .RadGrid_Oreo .rgEditRow a, .RadGrid_Oreo .rgFooter a, .RadGrid_Oreo .rgEditForm a {
    color: #000000;
}
.RadGrid_Oreo .rgSelectedRow {
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -3900px #828282;
    color: #FFFFFF;
}
* + html .RadGrid_Oreo .rgSelectedRow .rgSorted {
    background-color: #828282;
}
* html .RadGrid_Oreo .rgSelectedRow .rgSorted {
    background-color: #828282;
}
.RadGrid_Oreo .rgSelectedRow a {
    color: #FFFFFF;
}
.RadGrid_Oreo .rgActiveRow, .RadGrid_Oreo .rgHoveredRow {
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -2900px #C5C5C5;
    color: #333333;
}
* + html .RadGrid_Oreo .rgActiveRow .rgSorted, * + html .RadGrid_Oreo .rgHoveredRow .rgSorted {
    background-color: #C5C5C5;
}
* html .RadGrid_Oreo .rgActiveRow .rgSorted, * html .RadGrid_Oreo .rgHoveredRow .rgSorted {
    background-color: #C5C5C5;
}
.RadGrid_Oreo .rgEditRow {
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -4900px #FFFFFF;
}
* + html .RadGrid_Oreo .rgEditRow .rgSorted {
    background-color: #FFFFFF;
}
* html .RadGrid_Oreo .rgEditRow .rgSorted {
    background-color: #FFFFFF;
}
.RadGrid_Oreo .rgActiveRow td, .RadGrid_Oreo .rgActiveRow td.rgSorted, .RadGrid_Oreo .rgHoveredRow td, .RadGrid_Oreo .rgHoveredRow td.rgSorted {
    border-bottom-color: #9E9E9E;
}
.RadGrid_Oreo .rgSelectedRow td, .RadGrid_Oreo .rgSelectedRow td.rgSorted {
    border-bottom-color: #6C6C6C;
}
.RadGrid_Oreo .rgFooterDiv, .RadGrid_Oreo .rgFooter {
    background: none repeat scroll 0 0 #EEEEEE;
}
.RadGrid_Oreo .rgFooter td {
    border-bottom: 1px solid #FFFFFF;
    border-top: 1px solid #828282;
}
.RadGrid_Oreo .rgPager .rgStatus {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #828282 #C9C9C9 #EEEEEE -moz-use-text-color;
    border-style: solid solid solid none;
    border-width: 1px 1px 1px 0;
    padding: 3px 0 2px;
    width: 35px;
}
.RadGrid_Oreo .rgStatus div {
    background: url("WebResource.axd?d=MgK0un0JQJIgT5M2Af-faJ4__A50xfbWIh5BiQmpoQ0jJbo9NXVf0FEJ8sj0TaL-AbQJnOlNB11SESeute4VnVHzsLewxAXjrzWMPnnHxFVxxaWLOL9fRjKnxY8X7eUF_mY0Xpa7Aa_hUa0UCLwqWDEGfxI1&t=634510730240903437") no-repeat scroll center center transparent;
    border: 0 none;
    height: 24px;
    margin: 0 auto;
    overflow: hidden;
    padding: 0;
    text-indent: -2222px;
    width: 24px;
}
.RadGrid_Oreo .rgPager {
    background: none repeat scroll 0 0 #EEEEEE;
}
.RadGrid_Oreo .rgPager td {
    padding: 0;
}
.RadGrid_Oreo .rgPager .rgPagerCell {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #828282 -moz-use-text-color #EEEEEE #EEEEEE;
    border-style: solid none solid solid;
    border-width: 1px 0 1px 1px;
    padding: 3px 0 2px;
}
.RadGrid_Oreo .rgWrap {
    float: left;
    line-height: 26px;
    padding: 0 10px;
    white-space: nowrap;
}
.RadGrid_Oreo .rgArrPart1 {
    line-height: 22px;
    padding-right: 0;
}
.RadGrid_Oreo .rgArrPart2 {
    line-height: 22px;
    padding-left: 0;
}
.RadGrid_Oreo .rgInfoPart {
    color: #8A8A8A;
    float: right;
}
.RadGrid_Oreo .rgInfoPart strong {
    color: #4C4E54;
    font-weight: normal;
}
.RadGrid_Oreo .rgSEO .rgArrPart1, .RadGrid_Oreo .rgSEO .rgArrPart2 {
    line-height: 24px;
}
.RadGrid_Oreo .rgWrap a img {
    margin: 0 8px;
}
.RadGrid_Oreo .rgPageFirst, .RadGrid_Oreo .rgPagePrev, .RadGrid_Oreo .rgPageNext, .RadGrid_Oreo .rgPageLast {
    height: 24px;
    width: 22px;
}
.RadGrid_Oreo .rgPageFirst {
    background-position: 0 -549px;
}
.RadGrid_Oreo .rgPageFirst:hover {
    background-position: 0 -599px;
}
.RadGrid_Oreo .rgPagePrev {
    background-position: 0 -699px;
}
.RadGrid_Oreo .rgPagePrev:hover {
    background-position: 0 -749px;
}
.RadGrid_Oreo .rgPageNext {
    background-position: 0 -849px;
}
.RadGrid_Oreo .rgPageNext:hover {
    background-position: 0 -899px;
}
.RadGrid_Oreo .rgPageLast {
    background-position: 0 -999px;
}
.RadGrid_Oreo .rgPageLast:hover {
    background-position: 0 -1049px;
}
.RadGrid_Oreo .rgPagerButton {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -1550px #E8E8E8;
    border-color: #D0D0D0 #AEAEAE #8B8B8B;
    border-style: solid;
    border-width: 1px;
    color: #000000;
    cursor: pointer;
    font: 12px/12px "segoe ui",arial,sans-serif;
    height: 22px;
    margin: 0 14px 0 0;
    padding: 0 4px 2px;
    vertical-align: middle;
}
.RadGrid_Oreo .rgNumPart {
    padding: 2px 0;
}
.RadGrid_Oreo .NumericPages .rgNumPart {
    padding: 2px 10px;
}
.RadGrid_Oreo .rgNumPart a:hover, .RadGrid_Oreo .rgNumPart a:hover span, .RadGrid_Oreo .rgNumPart a.rgCurrentPage, .RadGrid_Oreo .rgNumPart a.rgCurrentPage span {
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") no-repeat scroll 0 0 transparent;
}
.RadGrid_Oreo .rgNumPart a {
    color: #000000;
    float: left;
    line-height: 22px;
    margin: 0;
    padding: 0 5px 0 0;
    text-decoration: none;
}
.RadGrid_Oreo .rgNumPart span {
    float: left;
    padding: 0 0 0 5px;
}
.RadGrid_Oreo .rgNumPart a:hover {
    background-position: 100% -1250px;
}
.RadGrid_Oreo .rgNumPart a:hover span {
    background-position: 0 -1150px;
    cursor: pointer;
}
.RadGrid_Oreo .rgNumPart a.rgCurrentPage, .RadGrid_Oreo .rgNumPart a.rgCurrentPage:hover {
    background-position: 100% -1450px;
    cursor: default;
}
.RadGrid_Oreo .rgNumPart a.rgCurrentPage span, .RadGrid_Oreo .rgNumPart a.rgCurrentPage:hover span {
    background-position: 0 -1350px;
    cursor: default;
}
.RadGrid_Oreo .NextPrevNumericAndAdvanced .rgAdvPart {
    float: none;
    text-align: center;
}
.RadGrid_Oreo .rgPager .RadSlider {
    float: left;
    margin: 2px 10px 0 0;
}
.RadGrid_Oreo .rgPagerLabel, .RadGrid_Oreo .rgPager .RadComboBox, .RadGrid_Oreo .rgPager .RadInput_Oreo {
    margin: 0 4px 0 0;
    vertical-align: middle;
}
.RadGrid_Oreo .rgPager .RadComboBox {
    margin-top: -1px;
}
* + html .RadGrid_Oreo .rgPager .RadComboBox {
    margin-top: -2px;
}
* html .RadGrid_Oreo .rgPager .RadComboBox {
    margin-top: -2px;
}
* html .RadGrid_Oreo .rgPager .RadComboBox {
    padding: 1px 0;
}
.RadGrid_Oreo .rgPagerTextBox {
    text-align: center;
}
.RadGrid_Oreo .rgHeader .rgSortAsc {
    background-position: 3px -248px;
    height: 10px;
}
.RadGrid_Oreo .rgHeader .rgSortDesc {
    background-position: 3px -198px;
    height: 10px;
}
.GridReorderTop_Oreo, .GridReorderBottom_Oreo {
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") no-repeat scroll 0 0 transparent;
    height: 9px !important;
    margin-left: -5px;
    width: 9px !important;
}
.GridReorderBottom_Oreo {
    background-position: 0 -50px;
}
.RadGrid_Oreo .rgFilterRow {
    background: none repeat scroll 0 0 #EEEEEE;
}
.RadGrid_Oreo .rgFilterRow td {
    border-bottom: 1px solid #828282;
    padding-bottom: 7px;
    padding-top: 4px;
}
.RadGrid_Oreo .rgFilter {
    background-position: 0 -300px;
    height: 22px;
    margin: 0 0 0 2px;
    width: 22px;
}
.RadGrid_Oreo .rgFilter:hover {
    background-position: 0 -350px;
}
.RadGrid_Oreo .rgFilterActive, .RadGrid_Oreo .rgFilterActive:hover {
    background-position: 0 -400px;
}
.RadGrid_Oreo .rgFilterBox {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #8E8E8E #C9C9C9 #C9C9C9 #8E8E8E;
    border-style: solid;
    border-width: 1px;
    color: #333333;
    font: 12px "segoe ui",arial,sans-serif;
    padding: 2px 1px 3px;
    vertical-align: middle;
}
.RadGrid_Oreo .rgGroupPanel {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -1900px #EEEEEE;
    border-color: -moz-use-text-color -moz-use-text-color #828282;
    border-style: none none solid;
    border-width: 0 0 1px;
    height: 24px;
}
.RadGrid_Oreo .rgGroupPanel td {
    border: 0 none;
    padding: 3px 4px;
}
.RadGrid_Oreo .rgGroupPanel td td {
    padding: 0;
}
.RadGrid_Oreo .rgGroupPanel .rgSortAsc {
    background-position: 4px -144px;
}
.RadGrid_Oreo .rgGroupPanel .rgSortDesc {
    background-position: 4px -94px;
}
.RadGrid_Oreo .rgUngroup {
    background-position: 0 -6998px;
}
.RadGrid_Oreo .rgGroupItem {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -6500px #C6C6C6;
    border-color: #C4C4C4 #C4C4C4 #9E9E9E;
    border-style: solid;
    border-width: 1px;
    font-weight: normal;
    line-height: 20px;
    padding: 0 2px 1px 3px;
    vertical-align: middle;
}
.RadGrid_Oreo .rgMasterTable td.rgGroupCol, .RadGrid_Oreo .rgMasterTable td.rgExpandCol {
    background: none repeat scroll 0 0 #D9D9D9;
    border-color: #D9D9D9;
}
.RadGrid_Oreo .rgGroupHeader {
    background: none repeat scroll 0 0 #D9D9D9;
    color: #000000;
    font-size: 1.1em;
    line-height: 21px;
}
.RadGrid_Oreo .rgGroupHeader td {
    border-bottom: 1px solid #D9D9D9;
    border-top: 1px solid #828282;
    padding-bottom: 0;
    padding-top: 0;
}
.RadGrid_Oreo .rgGroupHeader td.rgGroupCol {
    border-top-color: #828282;
}
.RadGrid_Oreo .rgExpand {
    background-position: 5px -496px;
}
.RadGrid_Oreo .rgCollapse {
    background-position: 3px -444px;
}
.RadGrid_Oreo .rgGroupHeader td p {
    display: inline;
    margin: 0;
    padding: 0 10px;
}
.RadGrid_Oreo .rgGroupHeader td div div {
    padding: 0 10px;
    top: -0.8em;
}
.RadGrid_Oreo .rgGroupHeader td div div div {
    border: 0 none;
    padding: 0;
    top: 0;
}
.RadGrid_Oreo .rgEditForm {
    border-bottom: 1px solid #828282;
}
.RadGrid_Oreo .rgUpdate {
    background-position: 0 -1800px;
}
.RadGrid_Oreo .rgCancel {
    background-position: 2px -1848px;
}
.RadGrid_Oreo .rgDetailTable {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #828282 -moz-use-text-color #828282 #828282;
    border-style: solid none solid solid;
    border-width: 1px 0 1px 1px;
}
.RadGrid_Oreo .rgCommandRow {
    background: url("WebResource.axd?d=n4k_O0fbOE0C6Tqaafw-KhtT47vtem8wA9lyaPDOZR07inQybq3cbRgqysh3sEw70iYTgjVs5gRby3A2BPRpo5_DAplM0qFWcUB6P8fdhUx1TCVKnu34hdf0wHEF3qYpPNZ1sp-Qhu6WqXEMcG-YsvPOb9o1&t=634510730240903437") repeat-x scroll 0 -2099px #C5C5C5;
    color: #000000;
}
.RadGrid_Oreo .rgCommandRow td {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: -moz-use-text-color #F2F2F2 #999999;
    border-right: 1px solid #F2F2F2;
    border-style: none solid solid;
    border-width: 0 1px 1px;
    padding: 0;
}
.RadGrid_Oreo tfoot .rgCommandRow td {
    border-bottom: 0 none;
    border-top: 1px solid;
}
.RadGrid_Oreo tr.rgCommandRow td td {
    border: 0 none;
    padding: 3px 7px 4px;
}
.RadGrid_Oreo tr.rgCommandRow td td td {
    padding: 1px;
}
.RadGrid_Oreo .rgCommandRow table {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #FDFDFD -moz-use-text-color #E7E7E7;
    border-left: 0 none;
    border-right: 0 none;
    border-style: solid none;
    border-width: 1px 0;
}
.RadGrid_Oreo .rgCommandRow table table {
    border: 0 none;
}
.RadGrid_Oreo .rgCommandRow a {
    color: #000000;
    text-decoration: none;
}
.RadGrid_Oreo .rgAdd {
    background-position: 0 -1650px;
    margin-right: 3px;
}
.RadGrid_Oreo .rgRefresh {
    background-position: 0 -1600px;
    margin-right: 3px;
}
.RadGrid_Oreo .rgEdit {
    background-position: 0 -1700px;
}
.RadGrid_Oreo .rgDel {
    background-position: 0 -1750px;
}
.GridRowSelector_Oreo {
    background: none repeat scroll 0 0 #4C4E54;
}
.GridItemDropIndicator_Oreo {
    border-top: 1px dashed #666666;
}
.GridToolTip_Oreo {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 1px solid #828282;
    color: #333333;
    padding: 3px;
}
.RadGridRTL_Oreo .rgHeader, .RadGridRTL_Oreo .rgResizeCol {
    text-align: right;
}
.RadGridRTL_Oreo .rgPager .rgStatus {
    border-left-width: 1px;
    border-right: 0 none;
}
.RadGridRTL_Oreo .rgWrap {
    float: right;
}
.RadGridRTL_Oreo .rgInfoPart {
    float: left;
}
.RadGridRTL_Oreo .rgNumPart {
    width: 220px;
}
.RadGridRTL_Oreo .rgNumPart a {
    float: right;
}
.RadGridRTL_Oreo .rgDetailTable {
    border-left: 0 none;
    border-right: 1px solid;
}

thanks by advance for the tip.

BR
Galin
Telerik team
 answered on 23 Dec 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?