Pytanie : Siatka edytorstwo edytorstwo

I używać telerik radgrid i I mieć ten kod pod wystawiać gdy I uderzać redagować dla edytorstwo tryb ono wystawiać cały rząd w lewica zamiast ono pokazywać wszystkie the kolumna pionowo. Dlaczego móc I to? I potrzebować wszystkie mój GridBoundColumns mój textboxes…
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:

         
            
            
                
                    
                         
                        
                                      
                  
                                    
                    
                                           
                    
                    
                    
                                        
                   
                                           
                    
                    
                   
                    
                        
                        
                    
                  
                
                
                
                    
                        
                        
                        
                        
                        
                        
                
                
             
        

Odpowiedź : Siatka edytorstwo edytorstwo

------------------------------------C# Kod---------------------------------
using System;
using System.Collections;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.QuickStart;
using Telerik.QuickStart.Grid;
using Telerik.WebControls;

namespace Telerik.GridExamplesCSharp.AJAX.EditOnDblClick
{
    jawny abstrakcjonistyczny klasa DefaultCS: XhtmlPage
    {
        #region Sieć Forma Projektant wytwarzać kod
        override ochraniać kawitacyjny OnInit (EventArgs e)
        {
            //
            // CODEGEN: Ten wezwanie wymagać the ASP.NET Sieć Forma Projektant.
            //
            InitializeComponent ();
            base.OnInit (e);
        }
       
        /// Wymagać metoda dla Projektant poparcie - modyfikować
        /// the zawartość ten metoda z the kod redaktor.
        ///
        intymny kawitacyjny InitializeComponent ()
        {
            this.RadGrid1.NeedDataSource += nowy Telerik.WebControls.GridNeedDataSourceEventHandler (this.RadGrid1_NeedDataSource);
            this.RadGrid1.ColumnCreated += nowy Telerik.WebControls.GridColumnCreatedEventHandler (this.RadGrid1_ColumnCreated);
            to. Obciążeniowy += nowy EventHandler (page_Load. Page_Load);
        }
        #endregion

        ochraniać System.Web.UI.WebControls.Label Label1;
        ochraniać Telerik.WebControls.RadGrid RadGrid1;

        ochraniać kawitacyjny Page_Load (przedmiot nadawca, System.EventArgs e)
        {
            smyczkowy clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = ''; ", label1.ClientID. Label1.ClientID);
            this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
        }

        intymny pustka RadGrid1_NeedDataSource (przedmiot źródło, Telerik.WebControls.GridNeedDataSourceEventArgs e)
        {
            RadGrid1.DataSource = OrderDetails;
        }

        intymny DataTable OrderDetails
        {
            dostawać
            {
                jeżeli (to. Sesja ["OrderDetails"]! = null)
                {
                    wracać (DataTable) to. Sesja ["OrderDetails"];
                }

                DataTable res = DataSourceHelperCS.GetDataTable ("WYBIÓRKA * OD [Rozkaz Szczegół] ");
                to. Sesja ["OrderDetails"] = res;
                powrotny res;
            }            
        }

        ochraniać override pustka RaisePostBackEvent (IPostBackEventHandler sourceControl, smyczkowy eventArgument)
        {
            base.RaisePostBackEvent (sourceControl, eventArgument);
            jeżeli (sourceControl być RadGrid)
            {
                zawiązywać [] postBackEventArgumentData = eventArgument.Split (": ");
                zmiana (postBackEventArgumentData [(0)])
                {
                    skrzynka "Redagować":
                    {
                        ((RadGrid1.MasterTableView.Controls [(0)] Stół). Rząd [int. Parse (postBackEventArgumentData [(1)])] jako GridItem). Redagować = true;
                        RadGrid1.Rebind ();
                        przerwa;
                    }
                    skrzynka "Aktualizacja":
                    {
                        GridItem rzecz = ((RadGrid1.MasterTableView.Controls [(0)] Stół). Rząd [int. Parse (postBackEventArgumentData [(1)])] jako GridItem);
                        UpdateItem (rzecz);
                        rzecz. Redagować = fałszywy;
                        RadGrid1.Rebind ();
                        przerwa;
                    }                
                }
            }
        }

        intymny pustka RadGrid1_ColumnCreated (przedmiot nadawca, Telerik.WebControls.GridColumnCreatedEventArgs e)
        {
            jeżeli (e.Column być GridBoundColumn)
            {
                jeżeli ((e.Column jako GridBoundColumn) .DataField == "OrderID" || (e.Column jako GridBoundColumn) .DataField == "ProductID")
                {
                    (e.Column jako GridBoundColumn) .ReadOnly = true;
                    e.Column.HeaderStyle.Width = Unit.Pixel (60);
                }
                inny
                {
                    e.Column.HeaderStyle.Width = Unit.Pixel (150);
                }
            }
        }

        intymny kawitacyjny UpdateItem (GridItem rzecz)
        {
            GridEditableItem editedItem = rzecz jako GridEditableItem;
            DataTable ordersTable = this.OrderDetails;

            //Locate the rozmieniony rząd w the DataSource
            DataRow [] changedRows = ordersTable.Select ("OrderID =" + editedItem ["OrderID"]. Tekst +" I "+" ProductID = "+ editedItem ["ProductID"]. Tekst);
           
            smyczkowy labelID = label1.ClientID. Label1.ClientID;
            smyczkowy clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ", labelID, "");

            jeżeli (changedRows.Length! = 1)
            {
                clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ",
                    labelID, "Unbale the Rozkaz dla updating.");

                this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
                powrót;
            }

            //Update nowy wartość
            Hashtable newValues = nowy Hashtable ();
            //The GridTableView wypełniać the wartość od wszystkie wszystkie kolumna w the hash
            item.OwnerTableView.ExtractValuesFromItem (newValues, editedItem);

            DataRow changedRow = changedRows [(0)];
            changedRow.BeginEdit ();
            próba
            {                    
                foreach (DictionaryEntry wejście w newValues)
                {
                    changedRow [(smyczkowy) wejście. Klucz] = wejście. Wartość;
                }
                changedRow.EndEdit ();
            }
            chwyt (Wyjątek wyjątek)
            {
                changedRow.CancelEdit ();
                //In AJAX tryb tekst aktualizować the etykietka tekst, klient-popierać kogoś:
                clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ",
                    labelID, Server.HtmlEncode ("Niezdolny Rozkaz. Powód: " + ex. Wiadomość). Zamieniać (""", "" ").Replace (" \ r \ n ", "
"));

                this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
                powrót;
            }

            //Code dla the baza danych móc tutaj…
            clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ",
                labelID, "Rozkaz" + changedRow ["OrderID"] +", ProductID "+ changedRow ["ProductID"] +" aktualizować ");

            this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
        }

    }

}
------------------------------ASPX Kod------------------------------
<>.cs " Inherits= " Telerik.GridExamplesCSharp.AJAX.EditOnDblClick.DefaultCS " %>
<>sztuka " Assembly= " Telerik.QuickStart " %>
<> %>
<>"%>
<> %>
<>rols " Assembly= " RadGrid " %>
http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd">

   
        tag>
       
       
       
   
   
       
            lerik: header>
           
                                    pagesize= " 20 " GridLines= " 20 " allowpaging= " Prawdziwy " runat= " serwer " >
                   
                   
                   
                        clientevents>
                   

               

           

           
           
            r>
       
   


Ty móc the użytkownik siatka rzecz wewnątrz redagować tryb po prostu double-clicking the poszczególny rzecz (łatwy i intuicyjnie podejście). Ten demonstracja ilustrować dlaczego rząd wewnątrz redagować tryb double-clicking arbitralny siatka rzecz i dlaczego ten rząd gdy the użytkownik klikać inny rząd w the siatka. Furthermore, przyjazny dla użytkownika potwierdzać dialog wystawiać czy the operacja musieć rozkrzewiać lub nie.
The przykład uses RadGridClientObject.AjaxRequest () wezwanie (depeszować the RowClick i RowDblClick wydarzenie) i the onchange wydarzenie the wkład w the siatka rząd używać dla edytorstwo (the treser dla the onchange wydarzenie wyznaczać w the RowCreated treser the siatka).

Dodatkowy edytorstwo porada i sztuczka (na przykład dlaczego wsad aktualizacja) ty móc w the Jak-subchapter od the Wszywka/Aktualizacja/Deleatur rejestr sekcja w the produkt online pomoc:
Jak-
using System;
using System.Collections;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.QuickStart;
using Telerik.QuickStart.Grid;
using Telerik.WebControls;

namespace Telerik.GridExamplesCSharp.AJAX.EditOnDblClick
{
    jawny abstrakcjonistyczny klasa DefaultCS: XhtmlPage
    {
        #region Sieć Forma Projektant wytwarzać kod
        override ochraniać kawitacyjny OnInit (EventArgs e)
        {
            //
            // CODEGEN: Ten wezwanie wymagać the ASP.NET Sieć Forma Projektant.
            //
            InitializeComponent ();
            base.OnInit (e);
        }
       
        /// Wymagać metoda dla Projektant poparcie - modyfikować
        /// the zawartość ten metoda z the kod redaktor.
        ///
        intymny kawitacyjny InitializeComponent ()
        {
            this.RadGrid1.NeedDataSource += nowy Telerik.WebControls.GridNeedDataSourceEventHandler (this.RadGrid1_NeedDataSource);
            this.RadGrid1.ColumnCreated += nowy Telerik.WebControls.GridColumnCreatedEventHandler (this.RadGrid1_ColumnCreated);
            to. Obciążeniowy += nowy EventHandler (page_Load. Page_Load);
        }
        #endregion

        ochraniać System.Web.UI.WebControls.Label Label1;
        ochraniać Telerik.WebControls.RadGrid RadGrid1;

        ochraniać kawitacyjny Page_Load (przedmiot nadawca, System.EventArgs e)
        {
            smyczkowy clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = ''; ", label1.ClientID. Label1.ClientID);
            this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
        }

        intymny pustka RadGrid1_NeedDataSource (przedmiot źródło, Telerik.WebControls.GridNeedDataSourceEventArgs e)
        {
            RadGrid1.DataSource = OrderDetails;
        }

        intymny DataTable OrderDetails
        {
            dostawać
            {
                jeżeli (to. Sesja ["OrderDetails"]! = null)
                {
                    wracać (DataTable) to. Sesja ["OrderDetails"];
                }

                DataTable res = DataSourceHelperCS.GetDataTable ("WYBIÓRKA * OD [Rozkaz Szczegół] ");
                to. Sesja ["OrderDetails"] = res;
                powrotny res;
            }            
        }

        ochraniać override pustka RaisePostBackEvent (IPostBackEventHandler sourceControl, smyczkowy eventArgument)
        {
            base.RaisePostBackEvent (sourceControl, eventArgument);
            jeżeli (sourceControl być RadGrid)
            {
                zawiązywać [] postBackEventArgumentData = eventArgument.Split (": ");
                zmiana (postBackEventArgumentData [(0)])
                {
                    skrzynka "Redagować":
                    {
                        ((RadGrid1.MasterTableView.Controls [(0)] Stół). Rząd [int. Parse (postBackEventArgumentData [(1)])] jako GridItem). Redagować = true;
                        RadGrid1.Rebind ();
                        przerwa;
                    }
                    skrzynka "Aktualizacja":
                    {
                        GridItem rzecz = ((RadGrid1.MasterTableView.Controls [(0)] Stół). Rząd [int. Parse (postBackEventArgumentData [(1)])] jako GridItem);
                        UpdateItem (rzecz);
                        rzecz. Redagować = fałszywy;
                        RadGrid1.Rebind ();
                        przerwa;
                    }                
                }
            }
        }

        intymny pustka RadGrid1_ColumnCreated (przedmiot nadawca, Telerik.WebControls.GridColumnCreatedEventArgs e)
        {
            jeżeli (e.Column być GridBoundColumn)
            {
                jeżeli ((e.Column jako GridBoundColumn) .DataField == "OrderID" || (e.Column jako GridBoundColumn) .DataField == "ProductID")
                {
                    (e.Column jako GridBoundColumn) .ReadOnly = true;
                    e.Column.HeaderStyle.Width = Unit.Pixel (60);
                }
                inny
                {
                    e.Column.HeaderStyle.Width = Unit.Pixel (150);
                }
            }
        }

        intymny kawitacyjny UpdateItem (GridItem rzecz)
        {
            GridEditableItem editedItem = rzecz jako GridEditableItem;
            DataTable ordersTable = this.OrderDetails;

            //Locate the rozmieniony rząd w the DataSource
            DataRow [] changedRows = ordersTable.Select ("OrderID =" + editedItem ["OrderID"]. Tekst +" I "+" ProductID = "+ editedItem ["ProductID"]. Tekst);
           
            smyczkowy labelID = label1.ClientID. Label1.ClientID;
            smyczkowy clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ", labelID, "");

            jeżeli (changedRows.Length! = 1)
            {
                clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ",
                    labelID, "Unbale the Rozkaz dla updating.");

                this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
                powrót;
            }

            //Update nowy wartość
            Hashtable newValues = nowy Hashtable ();
            //The GridTableView wypełniać the wartość od wszystkie wszystkie kolumna w the hash
            item.OwnerTableView.ExtractValuesFromItem (newValues, editedItem);

            DataRow changedRow = changedRows [(0)];
            changedRow.BeginEdit ();
            próba
            {                    
                foreach (DictionaryEntry wejście w newValues)
                {
                    changedRow [(smyczkowy) wejście. Klucz] = wejście. Wartość;
                }
                changedRow.EndEdit ();
            }
            chwyt (Wyjątek wyjątek)
            {
                changedRow.CancelEdit ();
                //In AJAX tryb tekst aktualizować the etykietka tekst, klient-popierać kogoś:
                clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ",
                    labelID, Server.HtmlEncode ("Niezdolny Rozkaz. Powód: " + ex. Wiadomość). Zamieniać (""", "" ").Replace (" \ r \ n ", "
"));

                this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
                powrót;
            }

            //Code dla the baza danych móc tutaj…
            clientExecute = sznurek. Format ("document.getElementById ("{(0)} ").innerHTML = "{(1)}"; ",
                labelID, "Rozkaz" + changedRow ["OrderID"] +", ProductID "+ changedRow ["ProductID"] +" aktualizować ");

            this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
        }

    }

}

<>.cs " Inherits= " Telerik.GridExamplesCSharp.AJAX.EditOnDblClick.DefaultCS " %>
<>sztuka " Assembly= " Telerik.QuickStart " %>
<> %>
<>"%>
<> %>
<>rols " Assembly= " RadGrid " %>
http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd">

   
        tag>
       
       
       
   
   
       

            lerik: header>
           
                                    pagesize= " 20 " GridLines= " 20 " allowpaging= " Prawdziwy " runat= " serwer " >
                   
                   
                   
                        clientevents>
                   

               

           

           
           
            r>
       
   


Mieć Nadzieję ten pomoc
Inne rozwiązania  
 
programming4us programming4us