HOME
User:
Anonymous
search for
in
Template Archives
Templates
Articles
Users
Login
Username:
Password:
Navigation
Registered User Functions:
Register New Account
Anonymous Functions:
Home
Users
Archives
Templates
Articles
MyGeneration Website
MyGeneration Forums
Categories
Application Type
Command Line
Graphical User Interface
Library
Sample
Web Application
Architecture Type
Client-Server
Distributed Computing
Multi-Tier
Peer-to-peer
Operating System
Linux
Win32
Programming Language
ASP
ASP.Net
C#
C++
Firebird SQL
J#
Java
Jet SQL
JScript
JSP
MySQL
Perl
PHP
PL/SQL
PostgreSQL
SQL
Transact-SQL
VB.Net
VBScript
XSLT
Template: EasyObject 2 C# ASP.Net 2.0 GridView and AJAX
Download Count:
2716
View Count:
9854
Template Properties
Unique ID:
459ffdaa-5ba7-430b-aefb-e82938790b6c
Title:
EasyObject 2 C# ASP.Net 2.0 GridView and AJAX
Namespace:
EasyObject.C#.Web.InlineGrid
Output Language:
C#
Mode:
Markup
Start Tag:
<%
End Tag:
%>
Template Body
Engine:
.Net Script
Language:
C#
<%#REFERENCE System.Web.dll %><%#NAMESPACE System.Web %><% // This template is distribute under The GNU General Public License (GPL) // http://www.gnu.org/copyleft/gpl.html // // Features: // * Inline edit DateTime with Calendar popup without refreshing // * Expand/Collapse Add new record row // * ASP 2.0 and AJAX 1.0 // * uses MasterPages // // www.CarlosRivero.com for latest updates // Submit suggestions/changes to the template to: email@carlosrivero.com they are Welcome!!!! // // Requires: // ASP.NET AJAX version 1.0 --> http://go.microsoft.com/fwlink/?LinkID=77296 // AJAXToolKit (Version 1.0.10201.0) --> http://www.codeplex.com/Wiki/View.aspx?ProjectName=AtlasControlToolkit // ASP.NET 2.0 AJAX Futures Jan CTP --> http://go.microsoft.com/fwlink/?LinkID=77294 // use with EasyObject C# DataObjects .Net 2.0 template from carlosrivero.com public class GeneratedTemplate : DotNetScriptTemplate { public GeneratedTemplate(ZeusContext context) : base(context) {} //Get alias private string GetAlias(IColumn objColumn) { string name = objColumn.Name; return name.Substring(0,1).ToUpper() + name.Substring(1,(name.Length) -1); } private string ChangeParameterType(string par) { if (par == "bool") par = "Boolean"; if (par == "int") par = "Int32"; if (par == "bigint" || par == "long") par = "Int64"; return par; } private string GetDescription(IColumn objColumn) { string strDescription = objColumn.Description; if((strDescription == "") || (!Convert.ToBoolean(input["chkUseDescription"]))) { strDescription = GetAlias(objColumn); } else { strDescription = Encode(strDescription); } return strDescription; } //HTML Encode private string Encode(string s) { //returns html encoded string return System.Web.HttpUtility.HtmlEncode(s); } //--------------------------------------------------- // Render() is where you want to write your logic //--------------------------------------------------- public override void Render() { string strDALNamespace = input["txtNamespace"].ToString(); string strFolderToSave = input["txtPath"].ToString(); string strMasterPage = input["txtMasterPage"].ToString(); ArrayList arlTables = input["lstTables"] as ArrayList; string _dbName = input["cmbDatabase"].ToString(); bool blnOutputEasyObjects = Convert.ToBoolean(input["chkUseEasyObjects"]); foreach(string strTableName in arlTables) { ITable table = MyMeta.Databases[_dbName].Tables[strTableName]; string strFormName = "frm" + table.Alias; %>/* '*************************************************************************************** '* Author : Carlos Rivero '* Notice : Copyright <% output.write(DateTime.Now.Year.ToString()); %> '* Date Created: <% output.write(DateTime.Now.ToString("dd-MMMM-yyyy")); %> '* Description : <% output.write(strFormName); %> '* '*************************************************************************************** */ using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; <% if(blnOutputEasyObjects) {output.writeln("using NCI.EasyObjects;");} %>using <% output.write(strDALNamespace);%>; /// <summary> /// Summary description for <% output.write(strFormName); %>. /// </summary> public partial class <% output.write(strFormName); %> : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { } protected void btn<% output.write(table.Alias);%>Add_Click(object sender, EventArgs e) { <% output.write(table.Alias);%>.<% output.write(table.Alias);%>Insert(<% string comma = ""; foreach(IColumn objColumn in table.Columns) { if(!objColumn.IsAutoKey) { switch(objColumn.LanguageType) { case "int": case "decimal": case "double": case "long": output.write(comma + "Convert.ToInt32(this.txt" + GetAlias(objColumn) + ".Text)"); break; case "DateTime": output.write(comma + "Convert.ToDateTime(this.txt" + GetAlias(objColumn) + ".Text)"); break; case "bool": output.write(comma + "this.chk" + GetAlias(objColumn) + ".Checked"); break; default: output.write(comma + "this.txt" + GetAlias(objColumn) + ".Text"); break; }//end switch comma = ", "; }//end if }//end foreach %>); <% //clear the boxes! after adding foreach(IColumn objColumn in table.Columns) { if(!objColumn.IsAutoKey) { switch(objColumn.LanguageType) { case "bool": output.write("this.chk" + GetAlias(objColumn) + ".Checked = false;"); break; case "DateTime": default: output.write("this.txt" + GetAlias(objColumn) + ".Text = \"\";"); break; }//end switch %> <% } } %> //bind the gridview after adding this.gv<% output.write(table.Alias);%>.DataBind(); }//end btn<% output.write(table.Alias);%>Add_Click }<% //Fix folder to save scripts if(!strFolderToSave.EndsWith(@"\")) { strFolderToSave += @"\"; } //Save the code output.save(strFolderToSave + strFormName + ".aspx.cs" , false); output.clear(); //Page directive output.write("<"); output.write("%@ Page language=\"C#\" CodeFile=\"" + strFormName + ".aspx.cs\" MasterPageFile=\"" + strMasterPage + "\" AutoEventWireup=\"true\" Inherits=\"" + strFormName + "\" %"); output.writeln(">"); output.write("<"); output.write("%@ Register Assembly=\"AjaxControlToolkit\" Namespace=\"AjaxControlToolkit\" TagPrefix=\"ajaxToolkit\" %"); output.writeln(">"); %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <asp:UpdatePanel ID="up<% output.write(strFormName);%>Edit" runat="server"> <ContentTemplate> <h2> <% output.write(table.Alias);%> </h2> <div> <asp:GridView ID="gv<% output.write(table.Alias);%>" runat="server" DataSourceID="ObjectDataSource<% output.write(table.Alias);%>" DataKeyNames="<% comma = ""; foreach(IColumn objColumn in table.Columns) { if(objColumn.IsInPrimaryKey) { output.write(comma + objColumn.Alias); comma = ", "; } }%>" ForeColor="Black" GridLines="Vertical" AutoGenerateColumns="False" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" AllowSorting="true"> <FooterStyle BackColor="#CCCC99" /> <Columns> <% foreach(IColumn objColumn in table.Columns) { if(!objColumn.IsAutoKey) {switch(objColumn.LanguageType) { case "bool": %> <asp:TemplateField HeaderText="<% output.write(GetAlias(objColumn));%>" SortExpression="<% output.write(GetAlias(objColumn));%>"> <EditItemTemplate> <asp:CheckBox ID="chkCol<% output.write(GetAlias(objColumn));%>" runat="server" Checked='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\") %"+ ">' />");%> </EditItemTemplate> <ItemTemplate> <asp:CheckBox ID="chkCol<% output.write(GetAlias(objColumn));%>" Enabled="false" runat="server" Checked='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\") %"+ ">' />");%> </ItemTemplate> </asp:TemplateField> <% break; case "DateTime": %> <asp:TemplateField HeaderText="<% output.write(GetAlias(objColumn));%>" SortExpression="<% output.write(GetAlias(objColumn));%>"> <EditItemTemplate> <asp:TextBox ID="txtCol<% output.write(GetAlias(objColumn));%>" runat="server" Text='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\",\"{0:d}\") %"+ ">' CssClass=\"xTextBox\"></asp:TextBox>");%> <% if (!objColumn.IsNullable){ %><asp:requiredfieldvalidator id="rfvCol<% output.write(GetAlias(objColumn));%>" ValidationGroup="row" runat="server" controltovalidate="txtCol<% output.write(GetAlias(objColumn));%>" Display="Dynamic"><% output.write(GetAlias(objColumn));%> Required</asp:requiredfieldvalidator> <%}%> <ajaxToolkit:CalendarExtender ID="cleCol<% output.write(GetAlias(objColumn));%>" runat="server" CssClass="MyCalendar" TargetControlID="txtCol<% output.write(GetAlias(objColumn));%>"> </ajaxToolkit:CalendarExtender> <asp:CompareValidator ControlToValidate="txtCol<% output.write(GetAlias(objColumn));%>" ID="cvalCol<% output.write(GetAlias(objColumn));%>" Display="Dynamic" runat="server" ValidationGroup="row" ErrorMessage="Invalid Date" Type="Date" Operator="DataTypeCheck" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lblCol<% output.write(GetAlias(objColumn));%>" runat="server" Text='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\",\"{0:d}\") %"+ ">'></asp:Label>");%> </ItemTemplate> </asp:TemplateField> <% break; default: %> <asp:TemplateField HeaderText="<% output.write(GetAlias(objColumn));%>" SortExpression="<% output.write(GetAlias(objColumn));%>"> <EditItemTemplate> <asp:TextBox ID="txtCol<% output.write(GetAlias(objColumn));%>" runat="server" Text='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\") %"+ ">' CssClass=\"xTextBox\"></asp:TextBox>");%> <% if (!objColumn.IsNullable){ %> <asp:requiredfieldvalidator id="rfvCol<% output.write(GetAlias(objColumn));%>" ValidationGroup="row" runat="server" controltovalidate="txtCol<% output.write(GetAlias(objColumn));%>" Display="Dynamic"><% output.write(GetAlias(objColumn));%> Required</asp:requiredfieldvalidator> <% } %> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lblCol<% output.write(GetAlias(objColumn));%>" runat="server" Text='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\") %"+ ">'></asp:Label>");%> </ItemTemplate> </asp:TemplateField> <% break; }//end switch }//end if }//end foreach %> <asp:TemplateField HeaderText="Action"> <EditItemTemplate> <asp:LinkButton ID="lnbUpdate" runat="server" CausesValidation="true" CommandName="Update" ValidationGroup="row" Text="Update"></asp:LinkButton> <asp:LinkButton ID="lnbCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"></asp:LinkButton> </EditItemTemplate> <ItemTemplate> <asp:LinkButton ID="lnbEdit" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"></asp:LinkButton> <asp:LinkButton ID="lnbDelete" runat="server" CausesValidation="False" CommandName="Delete" Text="Delete"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> <HeaderStyle CssClass="xTh" HorizontalAlign="Center" /> <RowStyle CssClass="xTr" HorizontalAlign="Center" VerticalAlign="Top"/> <AlternatingRowStyle CssClass="xAltTr" HorizontalAlign="Center" VerticalAlign="Top"/> <EmptyDataTemplate> <div class="xStatus">There are currently nothing to show (<% output.write(table.Alias); %>) </div> </EmptyDataTemplate> </asp:GridView></div> <br /> <hr /> <ajaxToolkit:CollapsiblePanelExtender Collapsed="true" ID="cpe<% output.write(table.Alias); %>Add" runat="server" TargetControlID="pnl<% output.write(table.Alias); %>Add" CollapseControlID="lnb<% output.write(table.Alias); %>Add" ExpandControlID="lnb<% output.write(table.Alias); %>Add"/> <asp:LinkButton Text="Add New Record" runat="server" ID="lnb<% output.write(table.Alias); %>Add"/> <asp:Panel ID="pnl<% output.write(table.Alias); %>Add" runat="server"> <table> <tr> <% foreach(IColumn objColumn in table.Columns) { if(!objColumn.IsAutoKey) { output.writeln("<td>" + objColumn.Alias + "</td>"); }//end if }//end foreach %> <td></td> </tr> <tr> <% foreach(IColumn objColumn in table.Columns) { if(!objColumn.IsAutoKey) {switch(objColumn.LanguageType) { case "bool": %> <td> <asp:CheckBox ID="chk<% output.write(GetAlias(objColumn));%>" runat="server" Checked='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\") %"+ ">' />");%> </td> <% break; case "DateTime": %> <td> <asp:TextBox ID="txt<% output.write(GetAlias(objColumn));%>" runat="server" Text='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\",\"{0:d}\") %"+ ">' CssClass=\"xTextBox\"></asp:TextBox>");%> <% if (!objColumn.IsNullable){ %><asp:requiredfieldvalidator id="rfv<% output.write(GetAlias(objColumn));%>" ValidationGroup="new" runat="server" controltovalidate="txt<% output.write(GetAlias(objColumn));%>" Display="Dynamic"><% output.write(GetAlias(objColumn));%> Required</asp:requiredfieldvalidator> <%}%> <ajaxToolkit:CalendarExtender ID="cle<% output.write(GetAlias(objColumn));%>" runat="server" CssClass="MyCalendar" TargetControlID="txt<% output.write(GetAlias(objColumn));%>"> </ajaxToolkit:CalendarExtender> <asp:CompareValidator ControlToValidate="txt<% output.write(GetAlias(objColumn));%>" ID="cval<% output.write(GetAlias(objColumn));%>" Display="Dynamic" runat="server" ValidationGroup="new" ErrorMessage="Invalid Date" Type="Date" Operator="DataTypeCheck" /> </td> <% break; default: %><td> <asp:TextBox ID="txt<% output.write(GetAlias(objColumn));%>" runat="server" Text='<% output.write("<" + "%# Bind(\"" + GetAlias(objColumn) + "\") %"+ ">' CssClass=\"xTextBox\"></asp:TextBox>");%> <% if (!objColumn.IsNullable){ %> <asp:requiredfieldvalidator id="rfv<% output.write(GetAlias(objColumn));%>" ValidationGroup="new" runat="server" controltovalidate="txt<% output.write(GetAlias(objColumn));%>" Display="Dynamic"><% output.write(GetAlias(objColumn));%> Required</asp:requiredfieldvalidator> <% } %> </td> <% break; }//end switch }//end if }//end foreach %> <td> <asp:Button ID="btn<% output.write(table.Alias); %>Add" ValidationGroup="new" runat="server" Text="Add" OnClick="btn<% output.write(table.Alias); %>Add_Click" CssClass="btn" /> </td> </tr> </table> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> <asp:ObjectDataSource ID="ObjectDataSource<% output.write(table.Alias); %>" runat="server" SelectMethod="<% output.write(table.Alias); %>LoadAll" TypeName="<% output.write(strDALNamespace); %>.<% output.write(table.Alias); %>" UpdateMethod="<% output.write(table.Alias); %>Update" DeleteMethod="<% output.write(table.Alias); %>Delete" InsertMethod="<% output.write(table.Alias); %>Insert" OldValuesParameterFormatString="{0}"> <UpdateParameters> <% foreach(IColumn objColumn in table.Columns) { output.writeln("<asp:Parameter Name=\"" + objColumn.Alias + "\" Type=\"" + ChangeParameterType(objColumn.LanguageType) + "\"/>"); }//end foreach %> </UpdateParameters> <DeleteParameters> <% foreach(IColumn objColumn in table.Columns) { if(objColumn.IsInPrimaryKey){ output.writeln("<asp:Parameter Name=\"" + objColumn.Alias + "\" Type=\"" + ChangeParameterType(objColumn.LanguageType) + "\"/>"); } }//end foreach %> </DeleteParameters> <InsertParameters> <% foreach(IColumn objColumn in table.Columns) { if(!objColumn.IsAutoKey){ output.writeln("<asp:Parameter Name=\"" + objColumn.Alias + "\" Type=\"" + ChangeParameterType(objColumn.LanguageType) + "\"/>"); } }//end foreach %> </InsertParameters> </asp:ObjectDataSource> </asp:Content> <% output.save(strFolderToSave + strFormName + ".aspx" , false); output.clear(); } output.writeln("The code was generated sucesfully on the folder:"); output.write(strFolderToSave); } } %>
Dynamic Interface:
Engine:
.Net Script
Language:
C#
public class GeneratedGui : DotNetScriptGui { public GeneratedGui(ZeusGuiContext context) : base(context) {} public override void Setup() { if ( !input.Contains("lstTables") || !input.Contains("txtPath") ) { ui.Title = "Generate Aspx Datagrid Page"; ui.Width = 360; ui.Height = 590; // Grab default output path string sOutputPath = ""; if (input.Contains("defaultOutputPath")) { sOutputPath = input["defaultOutputPath"].ToString(); } // Setup Folder selection input control. GuiLabel lblPath = ui.AddLabel("lblPath", "Select the output path:", "Select the output path in the field below."); GuiTextBox outpath = ui.AddTextBox("txtPath", sOutputPath, "Select the Output Path."); GuiFilePicker btnSelectPath = ui.AddFilePicker("btnPath", "Select Path", "Select the Output Path.", "txtPath", true); // Setup DAL Namespace Text. GuiLabel lblNamespace = ui.AddLabel("lblNamespace", "Type Namespace for DAL.", "Namespace"); GuiTextBox txtNamespace = ui.AddTextBox("txtNamespace", "Your.Namespace", "Type correct Namespace"); // Setup APP Namespace Text. GuiLabel lblMasterPage = ui.AddLabel("lblMasterPage", "Type MasterPage Template for your app.", "Namespace"); GuiTextBox txtMasterPage = ui.AddTextBox("txtMasterPage", "~/MasterPage.master", "Type correct MasterPage for your Application"); // Setup Database selection combobox. GuiLabel label_d = ui.AddLabel("lblDatabases", "Select a database:", "Select a database in the dropdown below."); GuiComboBox cmbDatabases = ui.AddComboBox("cmbDatabase", "Select a database."); // Setup Tables selection multi-select listbox. GuiLabel label_t = ui.AddLabel("lblTables", "Select tables:", "Select tables from the listbox below."); GuiListBox lstTables = ui.AddListBox("lstTables", "Select tables."); lstTables.Height = 180; // Attach the onchange event to the cmbDatabases control. setupDatabaseDropdown(cmbDatabases); cmbDatabases.AttachEvent("onchange", "cmbDatabases_onchange"); // Setup Use of Description. GuiCheckBox chkUseEasyObjects = ui.AddCheckBox("chkUseEasyObjects", "Use EasyObjects.", true, "Use EasyObjects"); GuiCheckBox chkUseDescription = ui.AddCheckBox("chkUseDescription", "Use column description as a label.", false, "Use description as a labels?"); ui.ShowGui = true; } } public void setupDatabaseDropdown(GuiComboBox cmbDatabases) { try { if (MyMeta.IsConnected) { cmbDatabases.BindData(MyMeta.Databases); if (MyMeta.DefaultDatabase != null) { cmbDatabases.SelectedValue = MyMeta.DefaultDatabase.Name; bindTables(cmbDatabases.SelectedValue); } } } catch (Exception ex) { } } public void bindTables(string sDatabase) { int count = 0; GuiListBox lstTables = ui["lstTables"] as GuiListBox; try { IDatabase db = MyMeta.Databases[sDatabase]; lstTables.BindData(db.Tables); } catch (Exception ex) { } } public void cmbDatabases_onchange(GuiComboBox control) { int count = 0; GuiComboBox cmbDatabases = ui["cmbDatabase"] as GuiComboBox; bindTables(cmbDatabases.SelectedText); } }
Copyright © 2004 MyGeneration Software. All rights reserved.
Feedback:
feedback@mygenerationsoftware.com
Support:
support@mygenerationsoftware.com