Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
52 views
hi telerik, all,

I have requirement of a control which shows year and month, not entire days for month. Do you have any suggestion to use which control for this? If not available, any way to accomplish same using available controls?


benjamin
Shinu
Top achievements
Rank 2
 answered on 08 Apr 2011
2 answers
453 views
Hola a todos,

He estado en esto por dos días, pero parece que no puede conseguir que funcione solo una parte jejejejejeje.

Tengo tres Tablas, Tema, Conocimiento y ConocimientoEmpleado de la que el Conocimiento tiene una relación ForeignKey a Tema
y ConocimientoEmpleado tiene una relación ForeignKey a Conocimiento . Lo que quiero lograr es que el mastertableview 
se rellena con los datos de la relacion entre Tema y Conocimiento y cada registro tiene detailtables referencia a sí misma con
los datos de Conocimiento. Pero esto si me funciona, pero ahora quiero q me aparezca otro DetailTableView
con la referencia de los datos de ConocimientoEmpleado. Lo me dice q el IdTema no tiene relacion o q no es un datacolumn, lo que tengo es lo siguiente:

ASPX
 protected void BuscarTablaTema(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            if (!e.IsFromDetailTable)
            {
                RadGrid1.DataSource = ObtenerDatosTabla("SELECT * FROM Tema");
                RadGrid1.MasterTableView.DataKeyNames = new string[] { "IdConocimiento" };  
            }
        }


        protected void BuscarTablaConocimiento(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
        {
            GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
            switch (e.DetailTableView.Name)
            {
                case 1:
                    {
                        string IdConocimiento = dataItem.GetDataKeyValue("IdConocimiento ").ToString();
                        e.DetailTableView.DataSource = GetDataTable("SELECT * FROM Conocimiento WHERE IdConocimiento = '" + IdConocimiento + "'");
                        break;
                    }


                case 2:
                    {
                        string IdTema= dataItem.GetDataKeyValue("IdTema").ToString();
                        e.DetailTableView.DataSource = GetDataTable("SELECT * FROM ConocimientoEmpleado WHERE IdTema = '" + IdTema +"'");
                        break;
                    }
            }
        }
        
        public DataTable ObtenerDatosTabla(string ConsultarTabla)
{
            String ConnString = ConfigurationManager.ConnectionStrings["IgrupoLogosConnectionString"].ConnectionString;
SqlConnection ConexionTabla = new SqlConnection(ConnString);
            SqlDataAdapter Adaptador = new SqlDataAdapter();
            Adaptador.SelectCommand = new SqlCommand(ConsultarTabla, ConexionTabla);
 
DataTable DatosTabla = new DataTable();


ConexionTabla.Open();
try
{
                Adaptador.Fill(DatosTabla);
}
finally
{
ConexionTabla.Close();
}


return DatosTabla;
}
    }
}


ASPX.CS

<MasterTableView Width="100%"  AllowMultiColumnSorting="True">
                <DetailTables>
                    <telerik:GridTableView DataKeyNames="IdConocimiento" Name="Conocimiento" Width="100%">
                        <DetailTables>
                            <telerik:GridTableView DataKeyNames="IdTema" Name="Tema" Width="100%">
                                <Columns>
   <telerik:GridBoundColumn SortExpression="IdEmpleado" HeaderText="IdEmpleado" HeaderButtonType="TextButton"
                                        DataField="IdEmpleado" DataType="System.Int32" Visible="false">
                                    </telerik:GridBoundColumn>                                    
  <telerik:GridBoundColumn SortExpression="IdTema" HeaderText="IdTema" HeaderButtonType="TextButton"
                                        DataField="IdTema" DataType="System.Int32" >
                                    </telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn SortExpression="Nivel0" HeaderText="Nivel0" HeaderButtonType="TextButton"
                                        DataField="Nivel0">
                                    </telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn SortExpression="Nivel1" HeaderText="Nivel1" HeaderButtonType="TextButton"
                                        DataField="Nivel1">
                                    </telerik:GridBoundColumn>
   <telerik:GridBoundColumn SortExpression="Nivel2" HeaderText="Nivel2" HeaderButtonType="TextButton"
                                        DataField="Nivel2">
                                    </telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn SortExpression="Nivel3" HeaderText="Nivel3" HeaderButtonType="TextButton"
                                        DataField="Nivel3">
                                    </telerik:GridBoundColumn>
      <telerik:GridBoundColumn SortExpression="Nivel4" HeaderText="Nivel4" HeaderButtonType="TextButton"
                                        DataField="Nivel4">
                                    </telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn SortExpression="Experiencia" HeaderText="Experiencia" HeaderButtonType="TextButton"
                                        DataField="Experiencia">
                                    </telerik:GridBoundColumn>
                                </Columns>
                            </telerik:GridTableView>
                        <DetailTables>
                    <telerik:GridTableView DataKeyNames="IdConocimiento" Width="100%">
                        <Columns>
                        <telerik:GridBoundColumn SortExpression="IdTema" HeaderText="IdTema" HeaderButtonType="TextButton"
                                DataField="IdTema" DataType="System.Int32" >
                                </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn SortExpression="IdConocimiento" HeaderText="IdConocimiento" HeaderButtonType="TextButton"
                                DataField="IdConocimiento" DataType="System.Int32" Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn SortExpression="IdTema" HeaderText="IdTema" HeaderButtonType="TextButton"
                                DataField="IdTema" UniqueName="IdTema" DataType="System.Int32" Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn SortExpression="Descripcion" HeaderText="SubTema" HeaderButtonType="TextButton"
                                DataField="Descripcion" UniqueName="Descripcion">
                            </telerik:GridBoundColumn>
                        </Columns>                       
                    </telerik:GridTableView>
                </DetailTables>
                <Columns>
                <telerik:GridBoundColumn SortExpression="" HeaderText="IdConocimiento " HeaderButtonType="TextButton"
                    DataField="IdConocimiento" DataType="System.Int32" ReadOnly="true" Visible="false">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="Valor" HeaderText="Tema" HeaderButtonType="TextButton"
                    DataField="Valor">
                </telerik:GridBoundColumn>                                   
            </Columns>
            </MasterTableView>
Hugo
Top achievements
Rank 1
 answered on 07 Apr 2011
0 answers
70 views
 como declaro la variable string IdTema = dataItem.GetDataKeyValue("IdTema").ToString();
me sale el erro que no es una referencia o declararla con new string


protected void BuscarTablaConocimiento(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
        {
            GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
            switch (e.DetailTableView.Name)
            {
                case "1":
                    {
                        string IdConocimiento = dataItem.GetDataKeyValue("IdConocimiento").ToString();
                        e.DetailTableView.DataSource = ObtenerDatosTabla("SELECT * FROM Conocimiento WHERE IdConocimiento = '"+ IdConocimiento + "'");
                        break;
                    }


                case "2":
                    {
                        string IdTema = dataItem.GetDataKeyValue("IdTema").ToString();
                        e.DetailTableView.DataSource = ObtenerDatosTabla("SELECT * FROM Conocimiento WHERE IdTema = '" + IdTema);
                        break;
                    }
            }
        }
Hugo
Top achievements
Rank 1
 asked on 07 Apr 2011
2 answers
171 views
Greetings

I am trying to create a basic filtering functionality similar to the found at the Demo documentation at http://demos.telerik.com/aspnet-ajax/listview/examples/filtering/defaultcs.aspx

The only distinction is that my application uses ObjectDataSource to bind  the RadListView control. Here is a brief about the ObjectDataSource

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="FriendBarDataSet"
    SelectMethod="GetFriends" OnSelecting="ObjectDataSource1_Selecting">
    <SelectParameters>
        <asp:Parameter Name="UserTable" />
    </SelectParameters>
</asp:ObjectDataSource>

  protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["UserTable"] = UserTable;
 
    }
 
/// And in the FriendBarDataSet Class
 
public SQLiteDataReader GetFriends(string UserTable)
    {
        SQLiteConnection connection = new SQLiteConnection(WebConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString);
        SQLiteCommand cmd = new SQLiteCommand();
        cmd.Connection = connection;
        StringBuilder SelectCommand = new StringBuilder();
        string Table = "[" + UserTable.ToString() + "]";
        string SQL = "SELECT [ID], [uid], [Name], [sex], [birthday_date] FROM ";
 
        string completeCommand = SQL + Table;
        SelectCommand.Append(completeCommand.ToString());
        cmd.CommandText = SelectCommand.ToString();
 
        connection.Open();
        return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }

The ListView Binds with No Problem. It is doing what it Suppose to do..

However, when in try to implement a filter similar to the demo one, the filter is not functional and it throws me an error. Here is how i go about Implementing the filter..

if (!String.IsNullOrEmpty(TextBoxFilter.Text))
            {
      
                RadListViewFriendSelection.FilterExpressions.Clear();
                RadListViewFriendSelection.FilterExpressions.BuildExpression().Contains("Name", TextBoxFilter.Text.Trim()).Build();
                RadListViewFriendSelection.Rebind();
 
            }

The filer is throwing me the following exception::

System.InvalidOperationException: DataReader has been closed @ RadListViewFriendSelection.Rebind()

Could you help me implement a simple filter into this application? To filter - The "Name" field of the ListView control using "Contains". notice that I am accessing an SQLite data. I don't know if this happen to influence. In which case, I will be open to suggestions of implementing filtering in a different way.

Thank you for your help.







Sergio
Top achievements
Rank 1
 answered on 07 Apr 2011
14 answers
180 views


Hello,

The RadComboBox autocomplete mode doesn't seem to work with Internet Explorer 9 Beta :

http://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/autocompleteclientside/defaultcs.aspx

However it works well in quirks (compatibility) mode.

Mike

Morten
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 07 Apr 2011
2 answers
84 views
I have an ASP.NET 4.0 app with the Telerik Controls running just about the entire page(Panel Bar, Calendar, Loading Panel, etc)...I have a search panel that uses the RadComboBox to do a "pre-search" for people.  That works fine, but when the person actually clicks the "Search" button to do the entire search, I get these Javascript errors:

if(Array.contains(c,i.get_postBackElement().id))

and 

Microsoft JScript runtime error: 'get_postBackElement().id' is null or not an object

I've searched the forums and it talks about "AutoId", but that seemed to be for back in 2010.  I am using the new version of the controls(Q1 2011).  below is my markup for the page.  

Help?

thanks

Mark

<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"><br>     <script type="text/javascript"><br>         $(document).ready(function () {<br>             $(".trigger").click(function () {<br>                 $(".panel").toggle("fast");<br>                 $(this).toggleClass("active");<br>                 return false;<br>             });<br>         });<br>    </script> <br>    </telerik:RadScriptBlock><br>    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" ClientIDMode="AutoID" ><br><br><br><br><br>        <telerik:RadPanelBar ID="RadPanelBar1" runat="server" Skin="WebBlue" Width="100%"><br>            <Items><br>                <telerik:RadPanelItem runat="server" Expanded="false" Text="Talent Search Results"><br>                    <ContentTemplate><br>                        <telerik:RadGrid ID="radgridSearchResults" runat="server" AllowFilteringByColumn="True"<br>                                AllowPaging="True" PageSize="50" AllowSorting="True" AutoGenerateColumns="False"<br>                                GridLines="None" ShowGroupPanel="True" Skin="WebBlue" Width="100%" EnableLinqExpressions="false"<br>                                OnSelectedIndexChanged="radgridSearchResults_SelectedIndexChanged" OnPageIndexChanged="radgridSearchResults_PageIndexChanged"<br>                                OnNeedDataSource="radgridSearchResults_NeedDataSource" CellSpacing="0"><br>                                <ClientSettings AllowDragToGroup="True"><br>                                    <Scrolling AllowScroll="True" UseStaticHeaders="True" ScrollHeight="400" /><br>                                </ClientSettings><br>                                <MasterTableView><br>                                    <CommandItemSettings ExportToPdfText="Export to Pdf" /><br>                                    <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"><br>                                        <HeaderStyle Width="20px" /><br>                                    </RowIndicatorColumn><br>                                    <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"><br>                                        <HeaderStyle Width="20px" /><br>                                    </ExpandCollapseColumn><br>                                    <Columns><br>                                        <telerik:GridButtonColumn CommandName="Select" DataTextField="Name" FilterControlAltText="Filter TalentColumn column"<br>                                            SortExpression="Name" Text="Select" UniqueName="TalentColumn" HeaderText="Talent"><br>                                            <HeaderStyle Width="30%" /><br>                                            <ItemStyle Width="30%" VerticalAlign="Top" /><br>                                        </telerik:GridButtonColumn><br>                                        <telerik:GridBoundColumn DataField="Agency.name" FilterControlAltText="Filter column1 column"<br>                                            HeaderText="Agency" SortExpression="Agency.name" UniqueName="column1"><br>                                            <HeaderStyle Width="30%" /><br>                                            <ItemStyle Width="30%" /><br>                                        </telerik:GridBoundColumn><br>                                        <telerik:GridBoundColumn DataField="Agent.name" FilterControlAltText="Filter column2 column"<br>                                            HeaderText="Agent" SortExpression="Agent.name" UniqueName="column2"><br>                                        </telerik:GridBoundColumn><br>                                    </Columns><br>                                    <EditFormSettings><br>                                        <EditColumn FilterControlAltText="Filter EditCommandColumn column"><br>                                        </EditColumn><br>                                    </EditFormSettings><br>                                </MasterTableView><br>                                <FilterMenu EnableImageSprites="False"><br>                                </FilterMenu><br>                                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"><br>                                </HeaderContextMenu><br>                            </telerik:RadGrid><br>                    </ContentTemplate><br>                </telerik:RadPanelItem><br>                <telerik:RadPanelItem runat="server" Text="Talent Details" Expanded="true"><br>                    <ContentTemplate><br>                        <table width="100%" class="form"><br>                        <tr><br>                            <td width="33%"><br>                                <table width="100%"><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Talent<br>                                        </td><br>                                        <td><br>                                            <asp:TextBox ID="txtTalentName" runat="server" Width="200px" CssClass="textFields"></asp:TextBox><br>                                            <asp:RequiredFieldValidator ID="valTalentName" runat="server" ControlToValidate="txtTalentName"<br>                                                Display="None" ErrorMessage="Talent Name is a required field." ValidationGroup="valGroup1"></asp:RequiredFieldValidator><br>                                            <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" Enabled="True"<br>                                                TargetControlID="valTalentName" /><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Agent<br>                                        </td><br>                                        <td><br>                                            <telerik:RadComboBox ID="cboAgents" runat="server" EmptyMessage="Type to Search..."<br>                                                EnableAutomaticLoadOnDemand="true" EnableVirtualScrolling="true" ItemsPerRequest="100"<br>                                                MarkFirstMatch="True" Skin="WebBlue" Width="205px"><br>                                                <WebServiceSettings Method="GetAgents" Path="Talent.aspx" /><br>                                            </telerik:RadComboBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Agency<br>                                        </td><br>                                        <td><br>                                            <telerik:RadComboBox ID="cboAgencies" runat="server" EmptyMessage="Type to Search..."<br>                                                EnableAutomaticLoadOnDemand="true" EnableVirtualScrolling="true" ItemsPerRequest="100"<br>                                                MarkFirstMatch="True" Skin="WebBlue" Width="205px"><br>                                                <WebServiceSettings Method="GetAgencies" Path="Talent.aspx" /><br>                                            </telerik:RadComboBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Agency Phone<br>                                        </td><br>                                        <td><br>                                            <asp:TextBox ID="txtAgencyPhone" runat="server" Width="200px" CssClass="textFields"></asp:TextBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Phone<br>                                        </td><br>                                        <td><br>                                            <asp:TextBox ID="txtPhone" runat="server" Width="200px" CssClass="textFields"></asp:TextBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Comment<br>                                        </td><br>                                        <td><br>                                            <asp:TextBox ID="txtComment" runat="server" Rows="3" TextMode="MultiLine" CssClass="textFields"<br>                                                Width="200px"></asp:TextBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                </table><br>                            </td><br>                            <td width="33%" valign="top"><br>                                <table width="100%"><br>                                    <tr><br>                                        <td><br>                                            <asp:Label runat="server" CssClass="formLabel-RightAlign" Text="Target"></asp:Label><br>                                        </td><br>                                        <td><br>                                            <asp:Label runat="server" CssClass="formLabel-RightAlign" Text="Strengths"></asp:Label><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                            <asp:CheckBox ID="ckDirector" runat="server" CssClass="formLabel-RightAlign" Text="Director" /><br>                                        </td><br>                                        <td rowspan="5" valign="top"><br>                                            <telerik:RadListBox ID="lstTargetStrengths" runat="server" Height="110px" CssClass="textFields"<br>                                                SelectionMode="Multiple" Skin="Outlook" Width="250px"><br>                                            </telerik:RadListBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                            <asp:CheckBox ID="ckProducer" runat="server" CssClass="formLabel-RightAlign" Text="Producer" /><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                            <asp:CheckBox ID="ckWriter" runat="server" CssClass="formLabel-RightAlign" Text="Writer" /><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                            <asp:CheckBox ID="ckTalentMale" runat="server" CssClass="formLabel-RightAlign" Text="Talent-Male" /><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                            <asp:CheckBox ID="ckTalentFemale" runat="server" CssClass="formLabel-RightAlign"<br>                                                Text="Talent-Female" /><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                        </td><br>                                        <td class="formLabel"><br>                                            <asp:CheckBox ID="ckIsAvailable" runat="server" Text="Available" />&nbsp;&nbsp;<br>                                            <asp:CheckBox ID="ckInActive" runat="server" Text="Inactive" /><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                </table><br>                            </td><br>                            <td width="33%" valign="top"><br>                                <table width="100%"><br>                                    <tr><br>                                        <td class="formLabel" colspan="2"><br>                                            <table width="100%"><br>                                                <tr><br>                                                    <td><br>                                                        Male/Female Talent Attributes<br>                                                    </td><br>                                                    <td align="right"><br>                                                        <asp:Button ID="btnSave" runat="server" OnClick="btnSaveTalent_Click" Text="Save"<br>                                                            ValidationGroup="valGroup1" /><br>                                                        <asp:Button ID="btnDelete" runat="server" OnClick="btnDeleteTalent_Click" Text="Delete" /><br>                                                        <asp:Button ID="btnResetTalent" runat="server" OnClick="btnResetTalent_Click" Text="Reset" /><br>                                                        <asp:ModalPopupExtender ID="ModalPopupExtender2" runat="server" BackgroundCssClass="modalBackground"<br>                                                            CancelControlID="ButtonCancel" DynamicServicePath="" Enabled="True" OkControlID="ButtonOk"<br>                                                            PopupControlID="panelDeleteTalentOuter" TargetControlID="btnDelete" /><br>                                                        <asp:ConfirmButtonExtender ID="ConfirmButtonExtender2" runat="server" ConfirmText=""<br>                                                            DisplayModalPopupID="ModalPopupExtender2" Enabled="True" TargetControlID="btnDelete" /><br>                                                    </td><br>                                                </tr><br>                                            </table><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Age Range:<br>                                        </td><br>                                        <td><br>                                            <telerik:RadComboBox ID="cboAgeRanges" runat="server" EmptyMessage="Type to Search..."<br>                                                MarkFirstMatch="True" Skin="WebBlue" Width="200px" ZIndex="100"><br>                                            </telerik:RadComboBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Race:<br>                                        </td><br>                                        <td><br>                                            <telerik:RadComboBox ID="cboRaces" runat="server" EmptyMessage="Type to Search..."<br>                                                MarkFirstMatch="True" Skin="WebBlue" Width="200px" ZIndex="100"><br>                                            </telerik:RadComboBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Type<br>                                        </td><br>                                        <td><br>                                            <telerik:RadComboBox ID="cboTypes" runat="server" EmptyMessage="Type to Search..."<br>                                                MarkFirstMatch="True" Skin="WebBlue" Width="200px" ZIndex="100"><br>                                            </telerik:RadComboBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td><br>                                        </td><br>                                        <td><br>                                        </td><br>                                    </tr><br>                                </table><br>                            </td><br>                        </tr><br>                    </table><br>                        <table width="100%" class="form" border="0"><br>                        <tr><br>                            <td class="formLabel" align="left"><br>                                Credits<br>                                <asp:ImageButton ID="lnkAddCredit0" runat="server" Enabled="false" ImageUrl="~/Images/Add.gif"<br>                                    OnClick="lnkAddCredit_Click" /><br>                            </td><br>                            <td><br>                                <br>                            </td><br>                        </tr><br>                        <tr><br>                            <td colspan="3"><br>                                <telerik:RadGrid ID="radgridCredits" runat="server" AllowFilteringByColumn="True"<br>                                    AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellSpacing="0"<br>                                    GridLines="None" Height="280px" OnNeedDataSource="radgridCredits_NeedDataSource"<br>                                    OnSelectedIndexChanged="radgridCredits_SelectedIndexChanged" PageSize="50"<br>                                    ShowGroupPanel="True" Skin="WebBlue" Visible="False" Width="100%"><br>                                    <ClientSettings AllowDragToGroup="True"><br>                                        <Scrolling AllowScroll="True" ScrollHeight="375" UseStaticHeaders="True" /><br>                                    </ClientSettings><br>                                    <MasterTableView><br>                                        <CommandItemSettings ExportToPdfText="Export to Pdf" /><br>                                        <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"><br>                                            <HeaderStyle Width="20px" /><br>                                        </RowIndicatorColumn><br>                                        <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"><br>                                            <HeaderStyle Width="20px" /><br>                                        </ExpandCollapseColumn><br>                                        <Columns><br>                                            <telerik:GridButtonColumn CommandName="Select" DataTextField="Show.Title" FilterControlAltText="Filter column2 column"<br>                                                HeaderText="Show" SortExpression="Show.Title" UniqueName="column2"><br>                                                <HeaderStyle Width="20%" /><br>                                                <ItemStyle Width="20%" /><br>                                            </telerik:GridButtonColumn><br>                                            <telerik:GridBoundColumn DataField="Show.Medium.name" FilterControlAltText="Filter TalentColumn column"<br>                                                FilterControlWidth="50px" HeaderText="Media" SortExpression="Show.Medium.name"<br>                                                UniqueName="TalentColumn"><br>                                                <HeaderStyle Width="9%" /><br>                                                <ItemStyle VerticalAlign="Top" Width="9%" /><br>                                            </telerik:GridBoundColumn><br>                                            <telerik:GridBoundColumn DataField="Craft.name" FilterControlAltText="Filter column1 column"<br>                                                FilterControlWidth="75px" HeaderText="Craft" SortExpression="Craft.name" UniqueName="column1"><br>                                                <HeaderStyle Width="12%" /><br>                                                <ItemStyle Width="12%" /><br>                                            </telerik:GridBoundColumn><br>                                            <telerik:GridBoundColumn DataField="Show.us_bor" DataFormatString="${C:0}" FilterControlAltText="Box Office"<br>                                                FilterControlWidth="50px" HeaderText="US BO(US$)" SortExpression="Show.us_bor"<br>                                                UniqueName="colBoxOffice"><br>                                                <HeaderStyle Width="8%" /><br>                                                <ItemStyle Width="8%" /><br>                                            </telerik:GridBoundColumn><br>                                            <telerik:GridBoundColumn DataField="Show.ProdHouse.name" FilterControlAltText="Filter column3 column"<br>                                                HeaderText="Production House" SortExpression="Show.ProdHouse" UniqueName="column3"><br>                                                <HeaderStyle Width="15%" /><br>                                                <ItemStyle Width="15%" /><br>                                            </telerik:GridBoundColumn><br>                                            <telerik:GridBoundColumn DataField="comment" FilterControlAltText="Filter column4 column"<br>                                                HeaderText="Comment" SortExpression="comment" UniqueName="column4"><br>                                                <HeaderStyle Width="15%" /><br>                                                <ItemStyle Width="15%" /><br>                                            </telerik:GridBoundColumn><br>                                            <telerik:GridBoundColumn DataField="Show.year" FilterControlAltText="Filter column5 column"<br>                                                FilterControlWidth="40px" HeaderText="Year" SortExpression="Show.year" UniqueName="column5"><br>                                            </telerik:GridBoundColumn><br>                                        </Columns><br>                                        <EditFormSettings><br>                                            <EditColumn FilterControlAltText="Filter EditCommandColumn column"><br>                                            </EditColumn><br>                                        </EditFormSettings><br>                                    </MasterTableView><br>                                    <FilterMenu EnableImageSprites="False"><br>                                    </FilterMenu><br>                                    <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"><br>                                    </HeaderContextMenu><br>                                </telerik:RadGrid><br>                            </td><br>                        </tr><br>                        <tr><br>                            <td align="right" valign="top"><br>                                &nbsp;<br>                            </td><br>                            <td align="right" colspan="2" valign="top"><br>                                &nbsp;<br>                            </td><br>                        </tr><br>                    </table><br>                        <telerik:RadWindow ID="radWinAddCredit" runat="server" Modal="true" AutoSize="true"<br>                            Title="Add/Edit Credit" Visible="false" VisibleStatusbar="false" VisibleOnPageLoad="True" Skin="WebBlue"<br>                            Height="300px" ShowContentDuringLoad="False" Width="350px" Behaviors="Close"><br>                            <ContentTemplate><br>                                <table class="form" width="100%"><br>                                    <tr><br>                                        <td class="formLabel-RightAlign" align="left"><br>                                            Craft<br>                                        </td><br>                                        <td><br>                                            <telerik:RadComboBox ID="cboCrafts" Skin="WebBlue" Width="205px" ZIndex="5000" MarkFirstMatch="true"<br>                                                    runat="server"><br>                                                </telerik:RadComboBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                            Title<br>                                        </td><br>                                        <td><br>                                             <telerik:RadComboBox ID="cboShowTitles" Skin="WebBlue" ZIndex="5000" Width="205px" EnableAutomaticLoadOnDemand="true"<br>                                                    EmptyMessage="Type to Search..." MarkFirstMatch="true" runat="server" EnableLoadOnDemand="True"<br>                                                    ItemsPerRequest="100"><br>                                                    <WebServiceSettings Method="GetShowTitles" Path="../Admin/Controls/AdminService.asmx" /><br>                                                </telerik:RadComboBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td class="formLabel-RightAlign"><br>                                           Comment<br>                                        </td><br>                                        <td><br>                                            <asp:TextBox ID="txtCreditComment" CssClass="textFields" runat="server" Width="200px"></asp:TextBox><br>                                        </td><br>                                    </tr><br>                                    <tr><br>                                        <td align="right" colspan="2"><br>                                            <asp:Button ID="btnAddCredit" runat="server" CssClass="textFields" OnClick="btnAddCredit_Click"<br>                                                Text="Save" /><br>                                        </td><br>                                    </tr><br>                                </table><br>                            </ContentTemplate><br>                        </telerik:RadWindow><br>                        <asp:Panel ID="panelDeleteTalentOuter" runat="server" CssClass="DeleteConfirmationOuterWindow"<br>                                        Style="display: none;"><br>                                        <asp:Panel ID="panelDeleteTalent" runat="server" Width="200px" Height="75px" CssClass="DeleteConfirmWindow"><br>                                            <table width="100%"><br>                                                <tr><br>                                                    <td align="center"><br>                                                        Are you sure you want to Delete this Talent?<br>                                                    </td><br>                                                </tr><br>                                                <tr><br>                                                    <td align="center"><br>                                                        <asp:Button ID="ButtonOk" runat="server" Text="Ok" /><br>                                                        <asp:Button ID="ButtonCancel" runat="server" Text="Cancel" /><br>                                                    </td><br>                                                </tr><br>                                            </table><br>                                        </asp:Panel><br>                                    </asp:Panel><br>                    </ContentTemplate><br>                </telerik:RadPanelItem><br>            </Items><br>        </telerik:RadPanelBar><br><br><br>        <%--<div style="float: left; left: 0; width: 260px;">--%><br>        <!--SEARCH PANEL--><br>        <div class="panel"><br>            <table class="searchForm" width="225"><br>                <tr><br>                    <td class="searchSection" align="center"><br>                        Search Criteria<br>                    </td><br>                </tr><br>                <tr><br>                    <td class="searchSectionLabel"><br>                        Name<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <asp:TextBox ID="txtTalentSearch" CssClass="textFields" runat="server" TabIndex="0"<br>                            Width="200px"></asp:TextBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td class="searchSectionLabel"><br>                        Agent<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <telerik:RadComboBox ID="cboAgentSearch" runat="server" EmptyMessage="Type to Search..."<br>                        EnableAutomaticLoadOnDemand="true" EnableVirtualScrolling="true" ItemsPerRequest="100"<br>                        MarkFirstMatch="True" Skin="WebBlue" Width="205px"><br>                        <WebServiceSettings Method="GetAgents" Path="Talent.aspx" /><br>                        </telerik:RadComboBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td class="searchSectionLabel"><br>                        Agency<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <telerik:RadComboBox ID="cboAgencySearch" runat="server" EmptyMessage="Type to Search..." <br>                            EnableVirtualScrolling="true" ItemsPerRequest="100" EnableAutomaticLoadOnDemand="true" <br>                            MarkFirstMatch="True" Skin="WebBlue" Width="205px"><br>                            <WebServiceSettings Method="GetAgencies" Path="Talent.aspx" /><br>                        </telerik:RadComboBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td class="searchSectionLabel"><br>                        Credit<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <asp:TextBox ID="txtCreditSearch" CssClass="textFields" runat="server" Width="200px"></asp:TextBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td align="left" valign="top" class="searchSectionLabel"><br>                        Genre<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <asp:ListBox ID="lstGenreSearch" CssClass="textFields" SelectionMode="Multiple" runat="server"<br>                            Width="200px"></asp:ListBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td align="left" valign="top" class="searchSectionLabel"><br>                        Strength<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <asp:ListBox ID="lstStrengthSearch" CssClass="textFields" SelectionMode="Multiple"<br>                            runat="server" Width="200px"></asp:ListBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td align="left" valign="top" class="searchSectionLabel"><br>                        Target<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <telerik:RadListBox ID="lstTargetSearch" Width="200px" Height="100px" runat="server"><br>                        </telerik:RadListBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td class="searchSectionLabel"><br>                        Note<br>                    </td><br>                </tr><br>                <tr><br>                    <td><br>                        <asp:ListBox ID="lstNoteSearch" CssClass="textFields" runat="server" Width="200px"><br>                            <asp:ListItem Value="0">Select a Note</asp:ListItem><br>                            <asp:ListItem Value="1">Private</asp:ListItem><br>                            <asp:ListItem Value="2">Public</asp:ListItem><br>                            <asp:ListItem Value="3">System Administrator</asp:ListItem><br>                            <asp:ListItem Value="4">N/A</asp:ListItem><br>                        </asp:ListBox><br>                    </td><br>                </tr><br>                <tr><br>                    <td class="searchSectionLabel"><br>                        <asp:CheckBox ID="ckAvailableOnlySearch" runat="server" Text="Available Only" /><br>                    </td><br>                </tr><br>                <tr><br>                    <td class="searchSectionLabel"><br>                        <asp:CheckBox ID="ckIncludeInactiveSearch" runat="server" Text="Include Inactive" /><br>                    </td><br>                </tr><br>                <tr><br>                    <td align="right" class="searchSectionLabel"><br>                        <asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click"<br>                            ForeColor="#3333FF" /><br>                        <asp:Button ID="btnReset" runat="server" Text="Reset" OnClick="btnReset_Click" ForeColor="#3333FF" /><br>                    </td><br>                </tr><br>            </table><br>        </div><br>        <a class="trigger" href="#">Search</a><br>    </telerik:RadAjaxPanel><br>    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" <br>        Skin="WebBlue"><br>    </telerik:RadAjaxLoadingPanel><br>    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" <br>        DefaultLoadingPanelID="RadAjaxLoadingPanel1"><br>        <AjaxSettings><br>            <telerik:AjaxSetting AjaxControlID="RadPanelBar1"><br>                <UpdatedControls><br>                    <telerik:AjaxUpdatedControl ControlID="RadPanelBar1" <br>                        LoadingPanelID="RadAjaxLoadingPanel1" /><br>                </UpdatedControls><br>            </telerik:AjaxSetting><br>            <telerik:AjaxSetting AjaxControlID="btnSearch"><br>                <UpdatedControls><br>                    <telerik:AjaxUpdatedControl ControlID="RadPanelBar1" /><br>                </UpdatedControls><br>            </telerik:AjaxSetting><br>        </AjaxSettings><br>    </telerik:RadAjaxManager><br></asp:Content>
mark baer
Top achievements
Rank 1
 answered on 07 Apr 2011
1 answer
113 views
I have a grid that is a hieracry and uses a panel to load the child

<telerik:RadGrid ID="RadGrid1" AllowFilteringByColumn="true" runat="server" EnableViewState="false" GridLines="None" 
    PagerStyle-AlwaysVisible="true" AllowCustomPaging="true" AllowPaging="true" AllowSorting="true" PageSize="20" Skin="Office2007">
    <clientsettings>
        <ClientEvents OnCommand="RadGrid1_Command" OnHierarchyExpanding="RadGrid1_HierarchyExpanding" />
    </clientsettings>
    <mastertableview hierarchyloadmode="Client" clientdatakeynames="AccessPersonID">
        <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
        <RowIndicatorColumn><HeaderStyle Width="0px"></HeaderStyle></RowIndicatorColumn>
        <ExpandCollapseColumn Visible="True" ><HeaderStyle Width="0px"></HeaderStyle></ExpandCollapseColumn>
            <Columns>                       
                    ...
                </Columns>
                <NestedViewTemplate>
                </NestedViewTemplate>
    </mastertableview>
</telerik:RadGrid>
  
<asp:Panel ID="Panel1" Style="display: none;" runat="server">
    <telerik:RadGrid ID="RadGrid2" Skin="Office2007" runat="server" EnableViewState="false"
         AllowFilteringByColumn="true" GridLines="None" AllowPaging="true" AllowSorting="true"
         PageSize="10" ShowStatusBar="true">
    <alternatingitemstyle backcolor="#EEEEEE"></alternatingitemstyle>
    <clientsettings>
        <ClientEvents OnCommand="RadGrid2_Command" />
    </clientsettings>
        <mastertableview clientdatakeynames="DocumentLogID" allowfilteringbycolumn="True">
            <Columns>                              
            <telerik:GridBoundColumn SortExpression="ReportName" DataField="ReportName" HeaderText="Report Name" >
                   <FilterTemplate>
                        <telerik:RadComboBox ID="RadComboBoxClientName" DataSourceID="LinqDataSource1" DataTextField="ReportName"
                            DataValueField="ReportName" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("ReportName").CurrentFilterValue %>'
                            runat="server" OnClientSelectedIndexChanged="ReportNameIndexChanged" Skin="Office2007">
                            <Items>
                                <telerik:RadComboBoxItem Text="All" Value="" />
                            </Items>
                        </telerik:RadComboBox>
                        <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
                             <script type="text/javascript">
                                   function ReportNameIndexChanged(sender, args) {
                                    var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
                                    if (args.get_item().get_value() == "")
                                       tableView.filter("ReportName", args.get_item().get_value(), "NoFilter");
                                    else
                                       tableView.filter("ReportName", args.get_item().get_value(), "EqualTo");
                                     }
                            </script>
                       </telerik:RadScriptBlock>                                                                            
                </FilterTemplate>                  
              <HeaderStyle Width="200px" />
           </telerik:GridBoundColumn
           <telerik:GridTemplateColumn UniqueName="StatusDescription" SortExpression="StatusDescription" DataField="StatusDescription" HeaderText="Status" >     
              <FilterTemplate>
                   <telerik:RadComboBox ID="RadComboBoxStatus" DataSourceID="LinqDataSource2" DataTextField="StatusDescription"
                       DataValueField="StatusDescription" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("StatusDescription").CurrentFilterValue %>'
                       runat="server"  OnClientSelectedIndexChanged="StatusDescriptionIndexChanged" Skin="Office2007">
                    <Items>
                       <telerik:RadComboBoxItem Text="All" Value="" />
                    </Items>
                  </telerik:RadComboBox>
              <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">
                 <script type="text/javascript">
                    function StatusDescriptionIndexChanged(sender, args) {
                      var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
                      if (args.get_item().get_value() == "")
                         tableView.filter("StatusDescription", args.get_item().get_value(), "NoFilter");
                     else
                         tableView.filter("StatusDescription", args.get_item().get_value(), "EqualTo");
                    }
                </script>
              </telerik:RadScriptBlock>                                    
             </FilterTemplate>                                
             <ItemTemplate>
                <telerik:RadComboBox Runat="server" ID="StatusDropDown" EnableViewState="false" DataTextField="StatusDescription" DataValueField="DocumentStatusID"  
                       DataSourceID="SqlDataSource2" Skin="Office2007"    OnClientSelectedIndexChanged="UpdateDocument" >
               </telerik:RadComboBox>
             </ItemTemplate>    
          </telerik:GridTemplateColumn
           ...                                 
        </Columns>                           
     </mastertableview>
     <pagerstyle alwaysvisible="true" />
   </telerik:RadGrid>
 </asp:Panel>

as you can see I hae a combo box in the child panel that when changed in the grid I want to run an update fo rthe data.

function UpdateDocument(sender, args) {
               var item = args.get_item();
                     Compliance.DocumentLogWS.UpdateDocument(sender.get_errorMessage(), sender.get_value(), DocumentUpdater);                
           }

this works when the grid is jut on layer, but when I am running from the child panel the sender.get_errorMessage() gives me a callback error.  How can I get the the Clientdatakeynames="DocumentLogID" for the row the the combox has been changed.

Eric Klein
Top achievements
Rank 1
 answered on 07 Apr 2011
1 answer
94 views
I am populating the scheduler using the ExchangeSchedulerProvider.  Is there a way to make the scheduler readonly but still allow the user to view the details?  If it's readonly, the user cannot click on a date to see the exact time of the appointment or to read the text if it's too long or there are too many appointments in a day.
Veronica
Telerik team
 answered on 07 Apr 2011
3 answers
36 views
I have the control to fill every appointment I make a color and show me the room information and the user, now I have a part to only see the appointments but not seethe information, as I do? To show me the information I do it this way, but not asdisabling for the other role.

  <AppointmentTemplate>
                                        <span style="font-weight: bold; font-size: small">
                                            <div>
                                                <%# Eval("Subject") %>
                                                <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/App_Themes/DeloitteSkin/ImgBotones/smallOutlook.gif"
                                                    ToolTip="Exportar a Outlook" CommandName="Export" OnClientClick="Export(this, event); return false;"
                                                    Style="cursor: pointer; cursor: hand;" />
                                            </div>
                                        </span>
                                        <%# Eval("Resources[0].text") %>
                                        <div>
                                            <%# Eval("Resources[1].text")%>
                                        </div>
            </AppointmentTemplate>
Veronica
Telerik team
 answered on 07 Apr 2011
2 answers
134 views
Hi,

I'm trying to get my radcombobox (populated with checkboxes) to show what items are selected. Its similar to this demo:
http://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/templates/defaultcs.aspx

However, my js code (copied from the above is simply returning empty strings with the .get_text() method.

Can anyone shed some light on why its returning nothing?

<telerik:RadComboBox ID="RadComboBox_User_Type" runat="server" EmptyMessage="Select Users" HighlightTemplatedItems="true"
            AllowCustomText="true" Width="225px">
            <Items>   
                <telerik:RadComboBoxItem 
                    ImagePath="../Images/OnTime_Fkeys/Access Control.png" 
                    Text_="Employee">
                </telerik:RadComboBoxItem>   
                <telerik:RadComboBoxItem 
                    ImagePath="../Images/OnTime_Fkeys/Access Control.png" 
                    Text_="Visitor">
                </telerik:RadComboBoxItem>
            </Items>
            <ItemTemplate>
                <div onclick="StopPropagation(event)" style="vertical-align: middle">
                    <asp:CheckBox runat="server" ID="chk1" Checked="false"/>
                    <asp:Label runat="server" ID="Label1" AssociatedControlID="chk1">
                        <img src='<%# DataBinder.Eval(Container, "Attributes['ImagePath']") %>' alt="" style="vertical-align:text-top"/>
                        <%# DataBinder.Eval(Container, "Attributes['Text_']") %> 
                    </asp:Label>
                </div>
            </ItemTemplate>
        </telerik:RadComboBox>




protected void Page_Load(object sender, EventArgs e)
        {
  
            String script1 = "" +
                    "function StopPropagation(e) " +
                    "{" +
                        "e.cancelBubble = true;" +
                        "if (e.stopPropagation) " +
                        "{" +
                            "e.stopPropagation();" +
                        "}" +
                    "}";
  
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "LMP_Stop_Prop", script1, true);
  
            ClientScript.RegisterClientScriptBlock(Page.GetType(),"324nvik",
                "<script src=\"../Javascript/Live_Monitor/Live_Monitor.js\" type=\"text/javascript\"></script>");
  
            for (int i = 0; i < RadComboBox_User_Type.Items.Count; i++)
            {
                RadComboBox_User_Type.Items[i].DataBind();
  
            }
  
            foreach (RadComboBoxItem item in RadComboBox_User_Type.Items)
            {
                CheckBox chk = (CheckBox)item.FindControl("chk1");
                chk.Attributes.Add("onclick", "onCheckBoxClick(this)");
            }
  
        }
    }


Live_Monitor.js
function onCheckBoxClick(chk) {
  
    var combo = $find('RadComboBox_User_Type');
    var text = "";
    var values = "";
    var items = combo.get_items();
  
    for (var i = 0; i < items.get_count(); i++) {
        var item = items.getItem(i);
        var chk1 = $get("RadComboBox_User_Type" + "_i" + i + "_chk1");
  
        if (chk1.checked) {
            text += item.get_text() + ",";
            values += item.get_value() + ",";
        }
    }
      
    text = removeLastComma(text);
    values = removeLastComma(values);
      
  
    if (text.length > 0) {
        combo.set_text(text);
    }
    else {
        combo.set_text("Select Users");
    }
}
  
function removeLastComma(str) {
    return str.replace(/,$/, "");
}


Anyone any ideas????

Thanks,

Sunny
Sunil
Top achievements
Rank 1
 answered on 07 Apr 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?