Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
180 views
Hello,

I want to use a hierarchical radgrid using self-referencing on the masterview and a detail view at the same time. Is it possible ?
Here the source code of my page 
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/OEECalcul/general2.Master" CodeBehind="TFGroupsProductsDetails.aspx.vb" Inherits=".TFGroupsProductsDetails" %>
<%@ Register Src="ctrl/img_status.ascx" TagName="imgStatus" TagPrefix="uc1" %>
<%@ Reference Control="~/OEECalcul/ctrl/img_status.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="OEEDirectContent" runat="server">
    <telerik:RadGrid ID="rGrid" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" AutoGenerateDeleteColumn="True" AutoGenerateEditColumn="True" CellSpacing="0" Culture="fr-FR" GridLines="None" ShowGroupPanel="True" AutoGenerateColumns="False">
        <MasterTableView AllowSorting="true" DataKeyNames="id_groups_products, id_parent" Width="100%">
            <Columns>
                <telerik:GridTemplateColumn HeaderText="Status">
                    <ItemTemplate>
                        <uc1:imgStatus ID="img_status1" runat="server" Status='<%# Eval("id_status")%>' />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridBoundColumn HeaderText="Nom" datafield="name" />
                <telerik:GridMaskedColumn DataField="id_groups_products" UniqueName="id_groups_products" DataType="System.Guid" />
            </Columns>
            <SelfHierarchySettings ParentKeyName="id_parent" KeyName="id_groups_products" />
            <DetailTables>
                <telerik:GridTableView Caption="Produits associés" runat="server" DataKeyNames="id_product">
                    <Columns>
                        <telerik:GridTemplateColumn HeaderText="Status">
                            <ItemTemplate>
                                <uc1:imgStatus ID="img_status1" runat="server" Status='<%# Eval("id_status")%>' />
                            </ItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridBoundColumn HeaderText="Nom" datafield="name" />
                        <telerik:GridMaskedColumn DataType="System.Guid" DataField="id_product" UniqueName="id_product" />
                    </Columns>
                    <ParentTableRelation>
                        <telerik:GridRelationFields MasterKeyField="id_groups_products" DetailKeyField="id_groups_products" />
                    </ParentTableRelation>
                </telerik:GridTableView>
            </DetailTables>
        </MasterTableView>
        <ClientSettings AllowDragToGroup="True">
        </ClientSettings>
    </telerik:RadGrid>
</asp:Content>

and the code behind :
I
Imports System.Data.SqlClient
Imports Telerik.Web.UI
 
Public Class TFGroupsProductsDetails
    Inherits System.Web.UI.Page
 
    Private Function GetDataTable() As DataTable
        Dim c As New SqlConnection(GetConnectionString(Session("DbName")))
        c.Open()
        Dim cmd As SqlCommand = c.CreateCommand
        cmd.CommandText = "create table #tempGP " & _
            "(id_groups_products uniqueidentifier, " & _
            "name nvarchar(50), " & _
            "descript nvarchar(max), " & _
            "id_parent uniqueidentifier, " & _
            "num_order int, " & _
            "id_status int)"
 
        cmd.ExecuteNonQuery()
        cmd = c.CreateCommand
        cmd.CommandText = "insert #tempGP select id_groups_products, name, descript, id_parent, num_order, id_status from groups_products"
        cmd.ExecuteNonQuery()
 
        Dim adapter As New SqlDataAdapter
        adapter.SelectCommand = New SqlCommand("select id_groups_products, name, descript, id_parent, num_order, id_status from groups_products", c)
        Dim myDataTable As New DataTable
        Try
            adapter.Fill(myDataTable)
        Finally
            c.Close()
        End Try
 
        Return myDataTable
    End Function
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If rGrid.EnableLinqExpressions Then
            rGrid.MasterTableView.FilterExpression = "it[""id_parent""] = Convert.DBNull"
        Else
            rGrid.MasterTableView.FilterExpression = "id_parent IS NULL"
        End If
 
    End Sub
 
    Private Sub rGrid_DetailTableDataBind(sender As Object, e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles rGrid.DetailTableDataBind
        Dim parentItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem)
        If parentItem.Edit Then
            Return
        End If
 
        Dim c As New SqlConnection(GetConnectionString(Session("DbName")))
        c.Open()
        Dim adapter As New SqlDataAdapter
        adapter.SelectCommand = New SqlCommand("select id_product, name, descript, id_groups_products, num_order, id_status from products where id_groups_products='" + Guid.Parse(parentItem("id_groups_products").Text).ToString + "'", c)
        Dim myDataTable As New DataTable
        Try
            adapter.Fill(myDataTable)
        Finally
            c.Close()
        End Try
 
        e.DetailTableView.DataSource = myDataTable
    End Sub
 
    Private Sub rGrid_NeedDataSource(sender As Object, e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles rGrid.NeedDataSource
        rGrid.DataSource = GetDataTable()
    End Sub
 
End Class

i succes to get first level, but i get an issue each time a want to expand a item containing details. 

[EvaluateException: Impossible de trouver la colonne [id_parent].]
   System.Data.NameNode.Bind(DataTable table, List`1 list) +1283261
   System.Data.BinaryNode.Bind(DataTable table, List`1 list) +34
   System.Data.UnaryNode.Bind(DataTable table, List`1 list) +29
   System.Data.UnaryNode.Bind(DataTable table, List`1 list) +29
   System.Data.DataExpression.Bind(DataTable table) +84
   System.Data.DataExpression..ctor(DataTable table, String expression, Type type) +5314983
   System.Data.DataView.set_RowFilter(String value) +141
   System.Data.LinqDataView.set_RowFilter(String value) +46
   Telerik.Web.UI.GridEnumerableFromDataView.PerformTransformation() +500
   Telerik.Web.UI.GridEnumerableFromDataView.TransformEnumerable() +18
   Telerik.Web.UI.GridTableView.GetEnumerator(Boolean useDataSource, GridEnumerableBase resolvedDataSource, ArrayList dataKeysArray, Boolean shouldClearDataKeys) +131
   Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) +1142
   Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +816
   System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +67
   System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +123
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +33
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +138
   Telerik.Web.UI.GridTableView.PerformSelect() +16
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +30
   Telerik.Web.UI.GridTableView.DataBind() +274
   Telerik.Web.UI.GridDataItem.OnExpand() +348
   Telerik.Web.UI.GridItem.set_Expanded(Boolean value) +140
   Telerik.Web.UI.GridExpandCommandEventArgs.ExecuteCommand(Object source) +38
   Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e) +91
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +87
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +114
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +252
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

Thanks for your help

regards
Eyup
Telerik team
 answered on 25 Dec 2013
1 answer
64 views
Hello I am using the radtab control, I have a Root Rad Tab1 and then I have a Child Rad Tab1, when  I click on the Rad Tab Child I can't return to Root Rad Tab1 because this shows like selected. Anyone knows how can I solve this?
Thanks.
Nencho
Telerik team
 answered on 25 Dec 2013
1 answer
53 views

I have added the new version of telerik dll in my azure application, want to use radcloudupload functionality.
but it is showing error

Uknown server tag telerik:radCloudUplod 
Peter Filipov
Telerik team
 answered on 25 Dec 2013
1 answer
103 views
Hello,
             Please find the attachment ..
Nencho
Telerik team
 answered on 25 Dec 2013
7 answers
529 views
Hi ,

i have a radgrid in wchich there are 6 columns. I am bringing data from procedure which is sorted by say 'record_sort' but on page load i want to show it as if its sorted by record and title both.
how can i do that?
Eyup
Telerik team
 answered on 25 Dec 2013
1 answer
72 views
Telerik MVC Grid Filter is not work on enter key in ie browser
Eyup
Telerik team
 answered on 25 Dec 2013
7 answers
193 views
Greetings,

If I have a column setup as follows:
<telerik:GridTemplateColumn UniqueName="Store_Code" DataField="Store_Code" DataType="System.Int32">
                            </EditItemTemplate>
                            <InsertItemTemplate>
                            </InsertItemTemplate>
                            <ItemTemplate>
                                <%# Eval("Store_Code") %>
                            </ItemTemplate>
                            <HeaderStyle CssClass="serial-column" />
                            <ItemStyle CssClass="serial-column" />
                            <FooterStyle CssClass="serial-column" />
                        </telerik:GridTemplateColumn>

When I add rows to the grid while on batch mode, I don't find the serial-column CSS class applied to the cells.
Eyup
Telerik team
 answered on 25 Dec 2013
3 answers
307 views
Hi,
I am trying to bind RadGrid with JSON Data on Client side. GridBoundColumns display data ok, but GridTemplateColumn is empty.
My code is below. Please, help.

<
telerik:GridTemplateColumn UniqueName="Description" DataField=Description" AllowFiltering="false" >
     <ItemTemplate>
         <asp:Label ID="Description" runat="server"  />
     </ItemTemplate>
</telerik:GridTemplateColumn>
 
 $.ajax({
 
                type: 'POST',
 
                contentType: 'application/json; charset=utf-8',
 
                data: '{}',
 
                dataType: 'JSON',
                url: '../../Services/Service.svc/GetList',
                success: function (result) {
                 var GridData = result.GetListResult;
                 if (GridData.length > 0) {
                     var masterTable = $find("<%=gvList.ClientID %>").get_masterTableView();
                     masterTable.set_dataSource(GridData);
                     masterTable.dataBind();
}
Eyup
Telerik team
 answered on 25 Dec 2013
1 answer
142 views

I've been using a RadNumericTextBox to fix a min and max values for sizing a div.

Control

<Telerik:RadNumericTextBox ID="txtHeight" runat="server" MinValue="0" MaxValue="128" NumberFormat-DecimalDigits="0" onchange="setHeight();"></Telerik:RadNumericTextBox>

JS function

function setHeight() {
    $("#div1").css("height", $("[id$=txtHeight]").val());
}

DIV

<div id="div1" style="border:1px solid black;"></div>

Everything works well, but when I input the value of 500 inside the txtHeight then lost the focus, the RAD control fix the max value to 128 but the div has been already change the height to 500px and it's not refreshed. I put a button to refresh the value of the div but what I really want is to set it in the change or blur client side event of the textbox. If not, it could be seen as a bug. So how can I do to set the div size after the RADControl does the change value to maximum value set?

Eyup
Telerik team
 answered on 25 Dec 2013
1 answer
278 views
Hi

i implemented the solution here :
Ajaxify Timer

but every 1 sec the timer component is sending request to the server and back with all the data.
what i want is to check if there is new data in the DB , if so, refresh the RadGrid 

in the timer event i do so : 
  protected void Timer1_Tick(object sender, EventArgs e)
    {
        DateTime date;
        if (DateTime.TryParse(SessionState.SessionSusitaLeadsLastCheck, out date)) // Last checking date
        {
            if (SmartAgentServices.GetInstance().CheckLastSmartAgentRequest(date)) // Check if add new data
            {
                RadGrid1.Rebind();
            }
        }
        SessionState.SessionSusitaLeadsLastCheck = DateTime.Now.ToString(); //update the last checking date
    }
thanks
Eyup
Telerik team
 answered on 25 Dec 2013
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?