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

[Solved] On Edit Click grid is hiding

3 Answers 79 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rahul
Top achievements
Rank 1
Rahul asked on 26 Jul 2013, 12:42 PM
HI I am facing issue with Radgrid edit button click when i click on edit . Grid disappear from screen.

Not able to trace what's the issue.

3 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 26 Jul 2013, 12:52 PM
Hello,

1.

Please use "needdatasource" event to bind the data in radgrid. Please check below link for demo.

Grid - Advanced Data Binding


OR

2.
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
   {
       if (e.CommandName == RadGrid.EditCommandName)
       {
           RadGrid1.DataSource = ""; // please assign your datasource here
           RadGrid1.DataBind();
       }
   }

Thanks,
Jayesh Goyani
0
Rahul
Top achievements
Rank 1
answered on 26 Jul 2013, 02:22 PM
No dude not working. still having same issue. If i  rebind grid then i am facing isssue with expand collpase option
0
Princy
Top achievements
Rank 2
answered on 29 Jul 2013, 04:39 AM
Hi Rahul,

Please try the below code snippet and check if this helps,else please provide your full code.

ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" PageSize="7"
           AllowSorting="True"  AllowPaging="True" 
           OnDetailTableDataBind="RadGrid1_DetailTableDataBind" OnNeedDataSource="RadGrid1_NeedDataSource"
            onitemcommand="RadGrid1_ItemCommand" AutoGenerateEditColumn="true">
           <PagerStyle Mode="NumericPages"></PagerStyle>
           <MasterTableView DataKeyNames="CustomerID" AllowMultiColumnSorting="True" HierarchyLoadMode="ServerOnDemand">
               <DetailTables>
                   <telerik:GridTableView DataKeyNames="OrderID" Name="Orders" Width="100%" AllowFilteringByColumn="true">
                       <DetailTables>
                           <telerik:GridTableView DataKeyNames="OrderID" Name="OrderDetails" AllowFilteringByColumn="false">
                               <Columns>
                                   <telerik:GridBoundColumn SortExpression="UnitPrice" HeaderText="Unit Price" HeaderButtonType="TextButton"
                                       DataField="UnitPrice">
                                   </telerik:GridBoundColumn>
                                   <telerik:GridBoundColumn SortExpression="Quantity" HeaderText="Quantity" HeaderButtonType="TextButton"
                                       DataField="Quantity">
                                   </telerik:GridBoundColumn>
                                   <telerik:GridBoundColumn SortExpression="Discount" HeaderText="Discount" HeaderButtonType="TextButton"
                                       DataField="Discount">
                                   </telerik:GridBoundColumn>
                               </Columns>
                           </telerik:GridTableView>
                       </DetailTables>
                       <Columns>
                           <telerik:GridBoundColumn SortExpression="OrderID" HeaderText="OrderID" HeaderButtonType="TextButton"
                               DataField="OrderID">
                           </telerik:GridBoundColumn>
                           <telerik:GridBoundColumn SortExpression="OrderDate" HeaderText="Date Ordered" HeaderButtonType="TextButton"
                               DataField="OrderDate" UniqueName="OrderDate" DataFormatString="{0:D}">
                           </telerik:GridBoundColumn>
                           <telerik:GridBoundColumn SortExpression="Freight" HeaderText="Freight" HeaderButtonType="TextButton"
                               DataField="Freight" UniqueName="Freight">
                           </telerik:GridBoundColumn>
                       </Columns>
                   </telerik:GridTableView>
               </DetailTables>
               <Columns>
                   <telerik:GridBoundColumn SortExpression="CustomerID" HeaderText="CustomerID" HeaderButtonType="TextButton"
                       DataField="CustomerID">
                   </telerik:GridBoundColumn>
                   <telerik:GridBoundColumn SortExpression="ContactName" HeaderText="Contact Name" HeaderButtonType="TextButton"
                       DataField="ContactName">
                   </telerik:GridBoundColumn>
                   <telerik:GridBoundColumn SortExpression="CompanyName" HeaderText="Company" HeaderButtonType="TextButton"
                       DataField="CompanyName">
                   </telerik:GridBoundColumn>
               </Columns>
           </MasterTableView>
           <ClientSettings EnablePostBackOnRowClick="true" ></ClientSettings>
       </telerik:RadGrid>

C#:
  protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        if (!e.IsFromDetailTable)
        {
            RadGrid1.DataSource = GetDataTable("SELECT * FROM Customers");
        }
    }
 
protected void RadGrid1_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
{
        GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
        switch (e.DetailTableView.Name)
        {
            case "Orders":
                {
                   string CustomerID = dataItem.GetDataKeyValue("CustomerID").ToString();
                    e.DetailTableView.DataSource = GetDataTable("SELECT * FROM Orders");
                    break;
                }
 
            case "OrderDetails":
                {
                    string OrderID = dataItem.GetDataKeyValue("OrderID").ToString();
                    e.DetailTableView.DataSource = GetDataTable("SELECT * FROM [Order Details] WHERE OrderID = " + OrderID);
                    break;
                }
        }
    }
 
    public DataTable GetDataTable(string query)
    {
        String ConnString = ConfigurationManager.ConnectionStrings["Northwind_newConnectionString3"].ConnectionString;
        SqlConnection conn = new SqlConnection(ConnString);
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(query, conn);
 
        DataTable myDataTable = new DataTable();
 
        conn.Open();
        try
        {
            adapter.Fill(myDataTable);
        }
        finally
        {
            conn.Close();
        }
 
        return myDataTable;
    }
 
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
    if (e.CommandName == "RowClick")
    {
        GridDataItem item=(GridDataItem)e.Item;
        value = item.GetDataKeyValue("CustomerID").ToString();
        foreach (GridItem item1 in e.Item.OwnerTableView.Items)
        {
            if (!(item.Expanded) && (item == e.Item))
            {
                item.Expanded = true;
            }
        }
    }
}

Thanks,
Princy
Tags
Grid
Asked by
Rahul
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Rahul
Top achievements
Rank 1
Princy
Top achievements
Rank 2
Share this question
or