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

Remove column details table for different parent item

3 Answers 160 Views
Grid
This is a migrated thread and some comments may be shown as answers.
J
Top achievements
Rank 1
J asked on 06 Feb 2013, 04:27 PM
Hello,
My task is to hide certain columns in details table based on a property of master table. I have attached an image of what I'm trying to achieve. 

In the attachment

1. for each customer Id ending with I, I will have to hide Freight Column and if it ends with N, I will have to hide date ordered column. 
2. I will also have to hide in the details table the add new record button for CustomerIds starting with A. 

I appreciate your help if you can point me to the right direction. 
Abe

3 Answers, 1 is accepted

Sort by
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 06 Feb 2013, 06:00 PM
Hello,

protected void RadGrid1_DetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e)
       {
           dynamic data = new[] {
             new { ID = 1, Name ="aaa"},
             new { ID = 2, Name = "bbb"},
             new { ID = 3, Name = "ccc"},
             new { ID = 4, Name = "ddd"},
             new { ID = 5, Name ="eee"}
           };
 
           e.DetailTableView.DataSource = data;
 
           if ((e.DetailTableView.ParentItem as GridDataItem)["ID"].Text == "1")
           {
               e.DetailTableView.GetColumn("ID").Visible = false;
           }
           if ((e.DetailTableView.ParentItem as GridDataItem)["ID"].Text == "3")
           {
               e.DetailTableView.GetColumn("Name").Visible = false;
           }
 
       }
 
 
 protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
       {
           dynamic data = new[] {
             new { ID = 1, Name ="aaa"},
             new { ID = 2, Name = "bbb"},
             new { ID = 3, Name = "ccc"},
             new { ID = 4, Name = "ddd"},
             new { ID = 5, Name ="eee"},
             new { ID = 6, Name ="aaa"},
             new { ID = 7, Name = "bbb"},
             new { ID = 8, Name = "ccc"},
             new { ID = 9, Name = "ddd"},
             new { ID = 10, Name ="eee"}
           };
           RadGrid1.DataSource = data;
 
 
       }
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"
            ondetailtabledatabind="RadGrid1_DetailTableDataBind">
.............
............
<MasterTableView >
                <Columns>
                    <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name">
                    </telerik:GridBoundColumn>
                </Columns>
                <DetailTables>
                    <telerik:GridTableView>
                        <Columns>
                          <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name">
                    </telerik:GridBoundColumn>
                        </Columns>
                    </telerik:GridTableView>
                </DetailTables>
            </MasterTableView>


Thanks,
Jayesh Goyani
0
J
Top achievements
Rank 1
answered on 06 Feb 2013, 06:37 PM
Thankyou. The below code seals it.  

e.DetailTableView.GetColumn("ID").Visible = false;

How do I remove Add a New Record Button with the same logic? 
0
J
Top achievements
Rank 1
answered on 06 Feb 2013, 07:31 PM
e.DetailTableView.CommandItemSettings.ShowAddNewRecordButton = false;

The above code fixed it. 
Tags
Grid
Asked by
J
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
J
Top achievements
Rank 1
Share this question
or