1 Answer, 1 is accepted
0
Phil
Top achievements
Rank 2
answered on 01 Jul 2009, 02:21 AM
Answered my own:
http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandwindow/defaultcs.aspx?product=grid
w/ no code-behind, and no telerik session:
and the window program EditFormCS.aspx w/ no code-behind:
http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandwindow/defaultcs.aspx?product=grid
w/ no code-behind, and no telerik session:
| <%@ Page Language="C#" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <script runat="server"> |
| protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) |
| { |
| if (e.Item is GridDataItem) |
| { |
| HyperLink editLink = (HyperLink)e.Item.FindControl("EditLink"); |
| editLink.Attributes["href"] = "#"; |
| int _id = (int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"]; |
| editLink.Attributes["onclick"] = String.Format("return ShowEditForm('{0}','{1}');", _id, e.Item.ItemIndex); |
| } |
| } |
| protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e) |
| { |
| if (e.Argument == "Rebind") |
| { |
| RadGrid1.MasterTableView.SortExpressions.Clear(); |
| RadGrid1.MasterTableView.GroupByExpressions.Clear(); |
| RadGrid1.Rebind(); |
| } |
| else if (e.Argument == "RebindAndNavigate") |
| { |
| RadGrid1.MasterTableView.SortExpressions.Clear(); |
| RadGrid1.MasterTableView.GroupByExpressions.Clear(); |
| RadGrid1RadGrid1.MasterTableView.CurrentPageIndex = RadGrid1.MasterTableView.PageCount - 1; |
| RadGrid1.Rebind(); |
| } |
| } |
| </script> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head runat="server"> |
| <title></title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <asp:ScriptManager ID="ScriptManager" runat="server" /> |
| <div> |
| <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| function ShowEditForm(id, rowIndex) { |
| var grid = $find("<%= RadGrid1.ClientID %>"); |
| var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element(); |
| grid.get_masterTableView().selectItem(rowControl, true); |
| window.radopen("EditFormCS.aspx?EmployeeID=" + id, "UserListDialog"); |
| return false; |
| } |
| function ShowInsertForm() { |
| window.radopen("EditFormCS.aspx", "UserListDialog"); |
| return false; |
| } |
| function refreshGrid(arg) { |
| if (!arg) { |
| $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind"); |
| } |
| else { |
| $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RebindAndNavigate"); |
| } |
| } |
| function RowDblClick(sender, eventArgs) { |
| window.radopen("EditFormCS.aspx?EmployeeID=" + eventArgs.getDataKeyValue("EmployeeID"), "UserListDialog"); |
| } |
| </script> |
| </telerik:RadCodeBlock> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <asp:SqlDataSource ID="nwSqlDataSource" runat="server" |
| ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" |
| SelectCommand="SELECT [EmployeeID], [FirstName], [LastName], [Title] FROM [Employees]"> |
| </asp:SqlDataSource> |
| <telerik:RadGrid |
| OnItemCreated="RadGrid1_ItemCreated" |
| ID="RadGrid1" |
| runat="server" |
| AllowPaging="True" |
| Width="97%" |
| DataSourceID="nwSqlDataSource"> |
| <PagerStyle Mode="NumericPages" /> |
| <MasterTableView |
| AutoGenerateColumns="False" |
| DataKeyNames="EmployeeID" |
| ClientDataKeyNames="EmployeeID" |
| Width="100%" |
| CommandItemDisplay="Top" |
| PageSize="5"> |
| <Columns> |
| <telerik:GridBoundColumn |
| DataField="EmployeeID" |
| HeaderText="EmployeeID" |
| ReadOnly="True" |
| SortExpression="EmployeeID" |
| UniqueName="EmployeeID"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn |
| DataField="FirstName" |
| HeaderText="FirstName" |
| SortExpression="FirstName" |
| UniqueName="FirstName"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn |
| DataField="LastName" |
| HeaderText="LastName" |
| SortExpression="LastName" |
| UniqueName="LastName"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn |
| DataField="Title" |
| HeaderText="Title" |
| SortExpression="Title" |
| UniqueName="Title"> |
| </telerik:GridBoundColumn> |
| <telerik:GridTemplateColumn |
| UniqueName="TemplateEditColumn"> |
| <ItemTemplate> |
| <asp:HyperLink ID="EditLink" runat="server" Text="Edit"></asp:HyperLink> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| <CommandItemTemplate> |
| <a href="#" onclick="return ShowInsertForm();">Add New Record</a> |
| </CommandItemTemplate> |
| </MasterTableView> |
| <ClientSettings> |
| <Selecting AllowRowSelect="true" /> |
| <ClientEvents OnRowDblClick="RowDblClick" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| <telerik:RadWindowManager ID="RadWindowManager1" runat="server"> |
| <Windows> |
| <telerik:RadWindow ID="UserListDialog" runat="server" Title="Editing record" Height="400px" |
| Width="300px" Left="150px" ReloadOnShow="true" ShowContentDuringLoad="false" Modal="true" /> |
| </Windows> |
| </telerik:RadWindowManager> |
| </div> |
| </form> |
| </body> |
| </html> |
| <%@ Page Language="C#" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <script runat="server"> |
| protected override void OnInit(EventArgs e) |
| { |
| base.OnInit(e); |
| if (Request.QueryString["EmployeeID"] == null) |
| { |
| DetailsView1.DefaultMode = DetailsViewMode.Insert; |
| } |
| else |
| { |
| DetailsView1.DefaultMode = DetailsViewMode.Edit; |
| } |
| this.Page.Title = "Editing record"; |
| } |
| protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e) |
| { |
| if (e.CommandName == "Update") |
| { |
| ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind();", true); |
| } |
| else if (e.CommandName == "Insert") |
| { |
| ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('navigateToInserted');", true); |
| } |
| else |
| { |
| ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CancelEdit();", true); |
| } |
| } |
| </script> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head runat="server"> |
| <title></title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <div> |
| <script type="text/javascript"> |
| function CloseAndRebind(args) |
| { |
| GetRadWindow().Close(); |
| GetRadWindow().BrowserWindow.refreshGrid(args); |
| } |
| function GetRadWindow() |
| { |
| var oWindow = null; |
| if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog |
| else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;//IE (and Moz as well) |
| return oWindow; |
| } |
| function CancelEdit() |
| { |
| GetRadWindow().Close(); |
| } |
| </script> |
| <asp:ScriptManager ID="ScriptManager2" runat="server" /> |
| <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Vista" /> |
| <asp:DetailsView ID="DetailsView1" |
| DataKeyNames="EmployeeID" runat="server" AutoGenerateRows="False" |
| DataSourceID="nwSqlDataSource" Height="50px" Width="125px" |
| OnItemCommand="DetailsView1_ItemCommand" |
| BorderWidth="0px" CellPadding="0" CellSpacing="7" GridLines="None"> |
| <Fields> |
| <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" /> |
| <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" /> |
| <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> |
| <asp:CommandField ShowEditButton="True" ButtonType="Button" /> |
| <asp:CommandField ShowInsertButton="True" ButtonType="Button" /> |
| </Fields> |
| </asp:DetailsView> |
| <asp:SqlDataSource ID="nwSqlDataSource" runat="server" |
| ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" |
| DeleteCommand="DELETE FROM [Employees] WHERE [EmployeeID] = @EmployeeID" |
| InsertCommand="INSERT INTO [Employees] ([LastName], [FirstName], [Title]) VALUES (@LastName, @FirstName, @Title)" |
| SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [Title] FROM [Employees] WHERE ([EmployeeID] = @EmployeeID)" |
| UpdateCommand="UPDATE [Employees] SET [LastName] = @LastName, [FirstName] = @FirstName, [Title] = @Title WHERE [EmployeeID] = @EmployeeID"> |
| <SelectParameters> |
| <asp:QueryStringParameter Name="EmployeeID" QueryStringField="EmployeeId" |
| Type="Int32" /> |
| </SelectParameters> |
| <DeleteParameters> |
| <asp:Parameter Name="EmployeeID" Type="Int32" /> |
| </DeleteParameters> |
| <UpdateParameters> |
| <asp:Parameter Name="LastName" Type="String" /> |
| <asp:Parameter Name="FirstName" Type="String" /> |
| <asp:Parameter Name="Title" Type="String" /> |
| <asp:Parameter Name="EmployeeID" Type="Int32" /> |
| </UpdateParameters> |
| <InsertParameters> |
| <asp:Parameter Name="LastName" Type="String" /> |
| <asp:Parameter Name="FirstName" Type="String" /> |
| <asp:Parameter Name="Title" Type="String" /> |
| </InsertParameters> |
| </asp:SqlDataSource> |
| </div> |
| </form> |
| </body> |
| </html> |