This is a migrated thread and some comments may be shown as answers.

[Solved] Facing issue in mastertableview in RadGrid

1 Answer 61 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Vasikar Paulraj
Top achievements
Rank 1
Vasikar Paulraj asked on 03 Dec 2009, 01:08 PM
Hi:
The mastertableview in RadGrid is getting repeated as many number of times as the number of rows in the DataTable from the Database. Please find the screen shot in the attachment and help me on this issue.
   

<radG:RadGrid ID="grd" runat="server" AllowMultiRowSelection="false" HeaderStyle-Height="0"

        AllowPaging="false"  Width="100%" AllowSorting="false" AutoGenerateColumns="False"

        BorderColor="LightBlue" BorderWidth="0px" AllowMultiRowEdit="false" EnableAJAX="True"

        GridLines="None" Skin="SkeltaGrid" RadControlsDir="<%$ ReplaceTemplateExpn:telerik/radcontrols/%>"

        OnNeedDataSource="grd_NeedDataSource" OnDetailTableDataBind="grd_DetailTableDataBind" OnItemCreated="grd_ItemCreated">       

        <mastertableview name="Base" nodetailrecordstext="No records found " nomasterrecordstext="No records found"

            autogeneratecolumns="false" datasourceid="" datakeynames=""

            hierarchydefaultexpanded="false" showheader="False" >

            <Columns>

                <radG:GridTemplateColumn UniqueName="Title">

                    <ItemTemplate>

                        <asp:Label ID="Label6" runat="server" Text="Between Dates &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;"></asp:Label>

                        <asp:Label ID="FromDate" runat="server" Font-Bold="true" Text='<%# fromDateDtp.SelectedDate.Value.ToString("dd/MMM/yyyy") %>'></asp:Label>

                        <asp:Label ID="Label9" runat="server" Text="-"></asp:Label>

                        <asp:Label ID="ToDate" runat="server" Font-Bold="true" Text='<%# toDateDtp.SelectedDate.Value.ToString("dd/MMM/yyyy") %>'></asp:Label>                       

                        <br />

                        <asp:Label ID="Label10" runat="server" Text="Generated On &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;"></asp:Label>

                        <asp:Label ID="Label11" runat="server" Text='<%# DateTime.Now.ToString("dd/MMM/yyyy hh:mm tt") %>'></asp:Label>

                    </ItemTemplate>

                </radG:GridTemplateColumn>

            </Columns>

            <DetailTables>

                <radG:GridTableView Name="Agents" DataKeyNames="" AllowPaging="false" AllowMultiColumnSorting="True"

                    Width="100%" DataSourceID="" TabIndex="0" AllowAutomaticUpdates="true" HierarchyLoadMode="ServerOnDemand">                   

                    <Columns>

                        <radG:GridTemplateColumn UniqueName="RequestDate">

                            <HeaderTemplate>

                                Request Date

                            </HeaderTemplate>

                            <ItemTemplate>

                                <label>

                                    <%# Eval("Request Date")%>

                                </label>

                            </ItemTemplate>

                            <HeaderStyle HorizontalAlign="Center" Width="15%" />

                            <ItemStyle HorizontalAlign="Center" Width="15%" />

                        </radG:GridTemplateColumn>

                        <radG:GridTemplateColumn UniqueName="OpeningBalance">

                            <HeaderTemplate>

                                Opening Balance

                            </HeaderTemplate>

                            <ItemTemplate>

                                <label>

                                    <%# Eval("Opening Balance")%>

                                </label>

                            </ItemTemplate>

                            <HeaderStyle HorizontalAlign="Center" Width="15%" />

                            <ItemStyle HorizontalAlign="Center" Width="15%" />

                        </radG:GridTemplateColumn>

                        <radG:GridTemplateColumn UniqueName="UploadInflow">

                            <HeaderTemplate>

                                Upload Inflow

                            </HeaderTemplate>

                            <ItemTemplate>

                                <label>

                                    <%# Eval("Upload Inflow")%>

                                </label>

                            </ItemTemplate>

                            <HeaderStyle HorizontalAlign="Center" Width="15%" />

                            <ItemStyle HorizontalAlign="Center" Width="15%" />

                        </radG:GridTemplateColumn>

                        <radG:GridTemplateColumn UniqueName="InflowError">

                            <HeaderTemplate>

                                Inflow - Error Report

                            </HeaderTemplate>

                            <ItemTemplate>

                                <label>

                                    <%# Eval("Inflow Error Report")%>

                                </label>

                            </ItemTemplate>

                            <HeaderStyle HorizontalAlign="Center" Width="20%" />

                            <ItemStyle HorizontalAlign="Center" Width="20%" />

                        </radG:GridTemplateColumn>

                        <radG:GridTemplateColumn UniqueName="ClosedCases">

                            <HeaderTemplate>

                                Closed Cases                               

                            </HeaderTemplate>

                            <ItemTemplate>

                                <label>

                                    <%# Eval("Closed Cases")%>

                                </label>

                            </ItemTemplate>

                            <HeaderStyle HorizontalAlign="Center" Width="15%" />

                            <ItemStyle HorizontalAlign="Center" Width="15%" />

                        </radG:GridTemplateColumn>

                        <radG:GridTemplateColumn UniqueName="CarryForwardCases">

                            <HeaderTemplate>

                                Carry Forward Cases

                            </HeaderTemplate>

                            <ItemTemplate>

                                <label>

                                    <%# Eval("Carry Forward Cases")%>

                                </label>

                            </ItemTemplate>

                            <HeaderStyle HorizontalAlign="Center" Width="15%" />

                            <ItemStyle HorizontalAlign="Center" Width="15%" />

                        </radG:GridTemplateColumn>

                    </Columns>

                </radG:GridTableView>

            </DetailTables>

        </mastertableview>

        <clientsettings>

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

        </clientsettings>

        <exportsettings exportonlydata="true" filename="Summary Report" ignorepaging="true"

            openinnewwindow="true">

        </exportsettings>

    </radG:RadGrid>

 

 

 

protected void grd_NeedDataSource(object source, Telerik.WebControls.GridNeedDataSourceEventArgs e) {

        this.Impersonate(InsuranceProcessLib.SPSettings);

        try {

            DataTable dt = InsuranceProcessLib.GetSummaryReport(Convert.ToDateTime(fromDateDtp.SelectedDate.Value), Convert.ToDateTime(toDateDtp.SelectedDate.Value));

            //grd.MasterTableView.HierarchyDefaultExpanded = true;

            grd.DataSource = dt;           

        } finally {

            this.UndoImpersonation();

        }

    }

 

    protected void grd_DetailTableDataBind(object source, Telerik.WebControls.GridDetailTableDataBindEventArgs e) {

        if (_DataViews.Contains(e.DetailTableView)) return;

        _DataViews.Add(e.DetailTableView);

        e.DetailTableView.DataSource = InsuranceProcessLib.GetSummaryReport(Convert.ToDateTime(fromDateDtp.SelectedDate.Value), Convert.ToDateTime(toDateDtp.SelectedDate.Value));

        e.DetailTableView.DataBind();

        _DataViews.Remove(e.DetailTableView);

    }

 

    protected void grd_ItemCreated(object source, Telerik.WebControls.GridItemEventArgs e) {

        if (e.Item.OwnerTableView.Name.Equals("Base")) {

            if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem) {

                e.Item.BackColor = System.Drawing.Color.LightCyan;

            }

        }

    }   

 

    protected void btnGo_Click(object sender, EventArgs e) {

        grd.Rebind();

        exportToExcelImgBtn.Visible = true;       

        excelExportLbl.Visible = true;       

    }

1 Answer, 1 is accepted

Sort by
0
Daniel
Telerik team
answered on 09 Dec 2009, 10:55 AM
Hello Vasikar,

You shouldn't call Rebind/DataBind in DetailTableDataBind, NeedDataSource, ItemDataBound, etc...
Second, when using advanced data binding you have to use Rebind instef of DataBind. Also, could you confirm that the items shown on the screenshot are not identical?

Advanced Databinding (using NeedDataSource event)

I hope this helps.

Regards,
Daniel
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
Grid
Asked by
Vasikar Paulraj
Top achievements
Rank 1
Answers by
Daniel
Telerik team
Share this question
or