Ext.NET and FormView

  1. #1

    Ext.NET and FormView

    Hi all, i'm new and i'm studing this .net framework. I'm facing with a problem and i dont know if there is any solution.

    Is it possible to user FormView with Ext.NET?

    I'm asking becasue in EditItemTemplate, in Edit mode, the method .setValue of Ext.JS framework fails and it tell me that my ext:net textbox is undefined

    ({script:"FormView1_TextArea1.setValue(\"XXX\");"})
    
    FormView1_TextArea1.setValue("XXX");
    Last edited by Daniil; Jul 25, 2011 at 7:28 PM. Reason: Please use [CODE] tags
  2. #2
    Please post full test sample
    What FormView do you mean? Native ASP.NET control? If yes then please show how do you use it
  3. #3
    Quote Originally Posted by Vladimir View Post
    Please post full test sample
    What FormView do you mean? Native ASP.NET control? If yes then please show how do you use it
    Yes, ASP.NET control, sorry.
    This is my asp.net page

    <form id="MainForm" runat="server">
            <ext:ResourceManager ID="RManager" runat="server">
            </ext:ResourceManager>
    
            <ext:Panel ID="fPanel" runat="server" Layout="Fit" Border="false" Padding="10">
                <TopBar>
                    <ext:Toolbar ID="tBar" runat="server" AutoWidth="true">
                        <Items>
                            <ext:Button ID="btn_salva" runat="server" Icon="Disk" ToolTip="Salva" Text="Salva" Disabled="true"></ext:Button>
                            <ext:Button ID="btn_modifica" runat="server" Icon="Pencil" ToolTip="Modifica" Text="Modifica" OnClick="btn_modifica_click" AutoPostBack="true"></ext:Button>
                            <ext:Button ID="btn_annulla" runat="server" Icon="ArrowUndo" ToolTip="Annulla modifica" Text="Annulla" OnClick="btn_annulla_click" AutoPostBack="true" Disabled="true"></ext:Button>
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <Items>
                    <ext:Panel ID="pnl_insiede" runat="server" AutoHeight="true" Border="false">
                        <Content>
                            <asp:FormView ID="fView" runat="server">
                                <ItemTemplate>
                                    <ext:Panel ID="pnl1" runat="server" Layout="Form" LabelWidth="220" Border="False">
                                        <Items>
                                            <ext:Label ID="lbl_nome" runat="server" FieldLabel="Nome" Text='<%# Eval("N02_NOME") %>'></ext:Label>
                                            <ext:Label ID="lbl_cognome" runat="server" FieldLabel="Cognome" Text='<%# Eval("N02_COGNOME") %>'></ext:Label>
                                            <ext:Label ID="lbl_email" runat="server" FieldLabel="Email" Text='<%# Eval("N02_EMAIL") %>'></ext:Label>
                                            <ext:Label ID="lbl_pwd_question" runat="server" FieldLabel="Domanda di recupero password" Text='<%# Eval("N02_PASSWORD_QUESTION") %>'></ext:Label>
                                            <ext:Label ID="lbl_tipo" runat="server" FieldLabel="Tipo utente" Text='<%# Eval("N02_N03_ID_FK") %>'></ext:Label>
                                        </Items>
                                    </ext:Panel>
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <ext:Panel ID="pnl1" runat="server" Layout="Form" LabelWidth="220" Border="False">
                                        <Items>
                                            <ext:TextField ID="txt_nome" runat="server" FieldLabel="Nome" Text='<%# Eval("N02_NOME") %>' BlankText="Nome mancante" AllowBlank="False" Width="400px"></ext:TextField>
                                            <ext:TextField ID="txt_cognome" runat="server" FieldLabel="Cognome" Text='<%# Eval("N02_COGNOME") %>' BlankText="Cognome mancante" AllowBlank="False"  Width="400px"></ext:TextField>
                                            <ext:TextField ID="TextField1" runat="server" FieldLabel="Email" Text='<%# Eval("N02_EMAIL") %>' BlankText="Email mancante" AllowBlank="False" Width="400px"></ext:TextField>
                                        </Items>
                                    </ext:Panel>
                                </EditItemTemplate>
                            </asp:FormView>
                        </Content>
                    </ext:Panel>
                </Items>
            </ext:Panel>
    
    
        </form>


    In code behind i'm changing the mode of the FormView and rebind all the input source to the FormView. I think the problem is that the DirectEvent is a ajax request, right? Can i use FormView and AJAX in this way?
  4. #4
    The previour code is a wrong version, this is the once which give me the problem. The problem come from the button btn_modifica and its direct event Click.



    <form id="MainForm" runat="server">
            <ext:ResourceManager ID="RManager" runat="server">
            </ext:ResourceManager>
    
            <ext:Panel ID="fPanel" runat="server" Layout="Fit" Border="false" Padding="10">
                <TopBar>
                    <ext:Toolbar ID="tBar" runat="server" AutoWidth="true">
                        <Items>
                            <ext:Button ID="btn_salva" runat="server" Icon="Disk" ToolTip="Salva" Text="Salva" Disabled="true"></ext:Button>
                            <ext:Button ID="btn_modifica" runat="server" Icon="Pencil" ToolTip="Modifica" Text="Modifica">
                                <DirectEvents>
                                    <Click OnEvent="btn_modifica_click"></Click>
                                </DirectEvents>
                            </ext:Button>
                            <ext:Button ID="btn_annulla" runat="server" Icon="ArrowUndo" ToolTip="Annulla modifica" Text="Annulla" Disabled="true"></ext:Button>
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <Items>
                    <ext:Panel ID="pnl_insiede" runat="server" AutoHeight="true" Border="false">
                        <Content>
                            <asp:FormView ID="fView" runat="server">
                                <ItemTemplate>
                                    <ext:Panel ID="pnl1" runat="server" Layout="Form" LabelWidth="220" Border="False">
                                        <Items>
                                            <ext:Label ID="lbl_nome" runat="server" FieldLabel="Nome" Text='<%# Eval("N02_NOME") %>'></ext:Label>
                                            <ext:Label ID="lbl_cognome" runat="server" FieldLabel="Cognome" Text='<%# Eval("N02_COGNOME") %>'></ext:Label>
                                            <ext:Label ID="lbl_email" runat="server" FieldLabel="Email" Text='<%# Eval("N02_EMAIL") %>'></ext:Label>
                                            <ext:Label ID="lbl_pwd_question" runat="server" FieldLabel="Domanda di recupero password" Text='<%# Eval("N02_PASSWORD_QUESTION") %>'></ext:Label>
                                            <ext:Label ID="lbl_tipo" runat="server" FieldLabel="Tipo utente" Text='<%# Eval("N02_N03_ID_FK") %>'></ext:Label>
                                        </Items>
                                    </ext:Panel>
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <ext:Panel ID="pnl1" runat="server" Layout="Form" LabelWidth="220" Border="False">
                                        <Items>
                                            <ext:TextField ID="txt_nome" runat="server" FieldLabel="Nome" Text='<%# Eval("N02_NOME") %>' BlankText="Nome mancante" AllowBlank="False" Width="400px"></ext:TextField>
                                            <ext:TextField ID="txt_cognome" runat="server" FieldLabel="Cognome" Text='<%# Eval("N02_COGNOME") %>' BlankText="Cognome mancante" AllowBlank="False"  Width="400px"></ext:TextField>
                                            <ext:TextField ID="TextField1" runat="server" FieldLabel="Email" Text='<%# Eval("N02_EMAIL") %>' BlankText="Email mancante" AllowBlank="False" Width="400px"></ext:TextField>
                                        </Items>
                                    </ext:Panel>
                                </EditItemTemplate>
                            </asp:FormView>
                        </Content>
                    </ext:Panel>
                </Items>
            </ext:Panel>
    
    
        </form>



    In codebehind i simply call this method

    DataTable dtProf = puBL.GetXXX(....);
                if (dtProf != null)
                {
                    btn_salva.Disabled = false;
                    btn_modifica.Disabled = true;
                    btn_annulla.Disabled = false;
                    fView.ChangeMode(FormViewMode.Edit);
                    fView.DataSource = dtProf;
                    fView.DataBind();
                }
                else
    .... other actions
  5. #5
    Another simple example is

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="tp.aspx.cs" Inherits="com.iofame.tp" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <ext:ResourceManager ID="ResourceManager1" runat="server">
            </ext:ResourceManager>
    
            <ext:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" AutoPostBack="true">
            </ext:Button>
            <br />
            <ext:Button ID="Button2" runat="server" Text="Submit">
                <DirectEvents>
                    <Click OnEvent="btn2_click">
                        
                    </Click>
                </DirectEvents>
            </ext:Button>
            <asp:FormView ID="FormView1" runat="server" DefaultMode="ReadOnly">
                <ItemTemplate>
                    <ext:Label ID="txt1" runat="server" Text='<%# Eval("Name") %>'>
                    </ext:Label>
                </ItemTemplate>
                <EditItemTemplate>
                    <ext:TextArea ID="TextArea1" runat="server" Text='<%# Eval("Name") %>'>
                    </ext:TextArea>
                </EditItemTemplate>
            </asp:FormView>
        </div>
        </form>
    </body>
    </html>



    and codebehind

     public class Student
        {
            public int Roll { get; set; }
            public string Name { get; set; }
            public Student() { }
            public Student(int _roll, string _name)
            {
                Roll = _roll;
                Name = _name;
            }
        }
        public class StudentList : List<Student>
        {
    
        }
    
        public partial class tp : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    StudentList lista = new StudentList();
                    lista.Add(new Student(2, "Pippo"));
    
                    FormView1.DataSource = lista;
                    FormView1.DataBind();
                }
            }
    
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                X.MessageBox.Alert("Prova", "Prova").Show();
            }
    
            [DirectMethod]
            protected void btn2_click(object sender, DirectEventArgs e)
            {
                StudentList lista = new StudentList();
                lista.Add(new Student(2, "Pippo"));
    
                FormView1.ChangeMode(FormViewMode.Edit);
                FormView1.DataSource = lista;
                FormView1.DataBind();
            }
        }
    In this example i have the same issue that i meet in my previous example. How can i use AJAX DirectEvents with standard ASP.NET controls? Is this possible?
    Last edited by Daniil; Jul 26, 2011 at 9:58 AM. Reason: Please use [CODE] tags
  6. #6
    Hi,

    Unfortunately, such case is not supported.
    Any Ext.Net control must be rendered explicitly during DirectEvent but it is impossible if control inside template of FormView

Similar Threads

  1. Combobox in ASP.Net FormView
    By kumarxlnt in forum 1.x Help
    Replies: 0
    Last Post: Oct 31, 2009, 9:18 AM
  2. FormView Error
    By Tbaseflug in forum 1.x Help
    Replies: 6
    Last Post: Apr 24, 2009, 7:55 PM
  3. Coolite control like asp:FormView ?
    By Penunuri in forum 1.x Help
    Replies: 2
    Last Post: Feb 02, 2009, 9:30 PM
  4. Replies: 1
    Last Post: Nov 16, 2008, 5:16 AM
  5. Replies: 1
    Last Post: Nov 14, 2008, 4:36 AM

Posting Permissions