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

How to Open RadWindow in RadGrid with ServerSide.

3 Answers 283 Views
Grid
This is a migrated thread and some comments may be shown as answers.
gzzn
Top achievements
Rank 1
gzzn asked on 25 May 2011, 03:54 AM
<MasterTableView TableLayout="Auto" EditMode="PopUp" AlternatingItemStyle-BorderColor="Red">
     <Columns>
         <telerik:GridClientSelectColumn HeaderStyle-Width="36px">
             <HeaderStyle Width="36px" />
         </telerik:GridClientSelectColumn>
         <telerik:GridBoundColumn DataField="pkID" HeaderText="SerialNO" UniqueName="pkID">
         </telerik:GridBoundColumn>
         <telerik:GridBoundColumn DataField="Visit_IP" HeaderText="IP" UniqueName="Visit_IP">
         </telerik:GridBoundColumn>
         <telerik:GridBoundColumn DataField="DateTimes" HeaderText="DateTime" UniqueName="DateTimes">
         </telerik:GridBoundColumn>
         <telerik:GridTemplateColumn HeaderText="Edit" UniqueName="TemplateEditColumn">
             <ItemTemplate>
                 <asp:LinkButton runat="server" ID="LinkButtonEdit" Text="LinkButtonEdit" CommandName="LinkButtonEdit" CommandArgument='<%# Eval("pkID") %>' />
             </ItemTemplate>
         </telerik:GridTemplateColumn>
     </Columns>
</MasterTableView>
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem dataItem = ((GridDataItem)(e.Item));
        LinkButton linkButton = dataItem.FindControl("LinkButtonEdit") as LinkButton;
        linkButton.ID = "LinkButtonEditID_" + dataItem.ItemIndex;
        linkButton.Text = "LinkButtonEditText_" + dataItem.ItemIndex;
        RadWindowIndexBuilder winbuider = new RadWindowIndexBuilder(this.RadWindowManager1, this.RadPaneWindow.ClientID, dataItem);
        linkButton.Click += winbuider.LinkButtonEdit_Click;
    }
}
//How to Get/Set Follow Value for 'pkID' From Rows of RadGrid ???????
public class RadWindowIndexBuilder
{
    RadWindowManager radWindowManager = null;
    string restrictionZoneID = null;
    int index = 0;
    string pkid = null;
    public RadWindowIndexBuilder(RadWindowManager RadWindowManager1, string RestrictionZoneID,
        GridDataItem Item)
    {
        radWindowManager = RadWindowManager1;
        restrictionZoneID = RestrictionZoneID;
        index = Item.ItemIndex;
        pkid = "???"; //How to Get/Set this Value From Rows of RadGrid ???
           //pkid = Item.GetDataKeyValue("pkID").ToString(); ???
           //pkid = Item.OwnerTableView.DataKeyValues[Item.ItemIndex][0].ToString(); ???
    }
    public void LinkButtonEdit_Click(object sender, EventArgs e)
    {
        radWindowManager.Windows.Clear();
        RadWindow rwin = new RadWindow();
        rwin.ID = "RadWindowLinkButtonEdit_" + index;
        rwin.Modal = false;
        rwin.Width = 640;
        rwin.Height = 480;
        rwin.Skin = "Office2007";
        rwin.NavigateUrl = "AdminContentBuilderInfo.aspx?id=" + pkid;
        rwin.Behaviors = WindowBehaviors.Close;
        rwin.InitialBehaviors = WindowBehaviors.Maximize | WindowBehaviors.None;
        rwin.RestrictionZoneID = restrictionZoneID;
        rwin.VisibleOnPageLoad = true;
        radWindowManager.Windows.Add(rwin);
    }
}

3 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 25 May 2011, 05:09 AM
Hello Gzzn,

Since you are calling the function from ItemCreated, you cannot access DataKeyValues because it is fired before the item is data-bound. So no data exists in the cells' text or input controls. Data is available only when ItemDataBound is fired. Try the same code in ItemDataBound. Hope this helps you.

Thanks,
Princy.
0
Wenting
Top achievements
Rank 1
answered on 26 Mar 2012, 07:16 AM
hi I got the same issue.

But the new rad windows dont show it self whenever I add it to button click event in itembound or itemcreated?  I already set VisibleOnPageLoad =true 

Do I need to set ajaxsetting to make rad windows show? or Could anyone give an example?

Thanks!
0
Princy
Top achievements
Rank 2
answered on 26 Mar 2012, 07:40 AM
Hello Wenting,

Here is the sample code to open a window on button click.
aspx:
<telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" AutoGenerateColumns="false" runat="server">
 <MasterTableView>
  <Columns>
   <telerik:GridTemplateColumn>
    <ItemTemplate>
      <asp:LinkButton ID="LinkButton2" runat="server">LinkButton</asp:LinkButton>
    </ItemTemplate>
  </telerik:GridTemplateColumn>
 </Columns>
</MasterTableView>
</telerik:RadGrid>
C#:
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
  if (e.Item is GridDataItem)
  {
      GridDataItem item = (GridDataItem)e.Item;
      LinkButton link = (LinkButton)item.FindControl("LinkButton2");
      link.Click += new EventHandler(linkd_Click);
  }
}
void link_Click(object sender, EventArgs e)
{
   RadWindow win = new RadWindow();
   win.ID = "window1";
   win.VisibleOnPageLoad = true;
   RadWindowManager1.Controls.Add(win);
}

Thanks,
Princy.
Tags
Grid
Asked by
gzzn
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Wenting
Top achievements
Rank 1
Share this question
or