Pergunta : Edição inline da grade

Eu estou usando o radgrid do telerik e eu tenho este código abaixo daquele quando eu bato edito para a modalidade que de edição não está indicando a fileira inteira na esquerda para a endireitar preferivelmente mostra todas as colunas verticalmente. Como posso eu reparar aquele? Eu preciso todos meus textboxes editable… de GridBoundColumns class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
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:
> " falso " " branco " " falso " " direito "
mystring " SelectCommand= " myspcustomer " SelectCommandType= " StoredProcedure " >
class= do

Resposta : Edição inline da grade

------------------------------------Código de C#---------------------------------
using o sistema;
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
{
    classe abstrata pública DefaultCS: XhtmlPage
    {
        Código gerado desenhador do formulário da correia fotorreceptora do #region
        OnInit vago protegido ultrapassagem (EventArgs e)
        {
            //
            // CODEGEN: Esta chamada é exigida pelo desenhador do formulário da correia fotorreceptora de ASP.NET.
            //
            InitializeComponent ();
            base.OnInit (e);
        }
       
        /// exigiu o método para a sustentação do desenhador - não modificar
        /// os índices deste método com o editor do código.
        ///
        InitializeComponent vago confidencial ()
        {
            this.RadGrid1.NeedDataSource += Telerik.WebControls.GridNeedDataSourceEventHandler novo (this.RadGrid1_NeedDataSource);
            this.RadGrid1.ColumnCreated += Telerik.WebControls.GridColumnCreatedEventHandler novo (this.RadGrid1_ColumnCreated);
            isto. Carga += EventHandler novo (este. Page_Load);
        }
        #endregion

        System.Web.UI.WebControls.Label protegido Label1;
        Telerik.WebControls.RadGrid protegido RadGrid1;

        Page_Load vago protegido (remetente do objeto, System.EventArgs e)
        {
            clientExecute da corda = corda. Formatar (“document.getElementById (“{0} ").innerHTML = ''; “, isto. Label1.ClientID);
            this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
        }

        vácuo confidencial RadGrid1_NeedDataSource (fonte do objeto, Telerik.WebControls.GridNeedDataSourceEventArgs e)
        {
            RadGrid1.DataSource = OrderDetails;
        }

        DataTable confidencial OrderDetails
        {
            começ
            {
                se (isto. Sessão [“OrderDetails”]! = zero)
                {
                    retornar (DataTable) isto. Sessão [“OrderDetails”];
                }

                DataTable res = DataSourceHelperCS.GetDataTable (“SELECIONAR * DE [detalhes da ordem] ");
                isto. Sessão [“OrderDetails”] = res;
                res do retorno;
            }            
        }

        vácuo protegido RaisePostBackEvent da ultrapassagem (sourceControl de IPostBackEventHandler, eventArgument da corda)
        {
            base.RaisePostBackEvent (sourceControl, eventArgument);
            se (o sourceControl é RadGrid)
            {
                amarrar [] o postBackEventArgumentData = o eventArgument.Split (“: ");
                interruptor (postBackEventArgumentData [0])
                {
                    o caso “edita”:
                    {
                        ((RadGrid1.MasterTableView.Controls [0] como a tabela). Fileiras [int. Analisar gramaticalmente (postBackEventArgumentData [1])] como GridItem). Editar = retificar;
                        RadGrid1.Rebind ();
                        ruptura;
                    }
                    caso “atualização”:
                    {
                        Artigo de GridItem = ((RadGrid1.MasterTableView.Controls [0] como a tabela). Fileiras [int. Analisar gramaticalmente (postBackEventArgumentData [1])] como GridItem);
                        UpdateItem (artigo);
                        artigo. Editar = falso;
                        RadGrid1.Rebind ();
                        ruptura;
                    }                
                }
            }
        }

        vácuo confidencial RadGrid1_ColumnCreated (remetente do objeto, Telerik.WebControls.GridColumnCreatedEventArgs e)
        {
            se (e.Column é GridBoundColumn)
            {
                se ((e.Column como GridBoundColumn) == “OrderID” de .DataField || (e.Column como GridBoundColumn) == “ProductID” de .DataField)
                {
                    (e.Column como GridBoundColumn) .ReadOnly = retificam;
                    e.Column.HeaderStyle.Width = Unit.Pixel (60);
                }
                mais
                {
                    e.Column.HeaderStyle.Width = Unit.Pixel (150);
                }
            }
        }

        UpdateItem vago confidencial (artigo de GridItem)
        {
            editedItem = artigo de GridEditableItem como GridEditableItem;
            DataTable ordersTable = this.OrderDetails;

            //Locate a fileira mudada na origem de dados
            changedRows de DataRow [] = ordersTable.Select (“OrderID =” + editedItem [“OrderID”]. Texto +” E “+” ProductID = “+ editedItem [“ProductID”]. Texto);
           
            labelID da corda = isto. Label1.ClientID;
            clientExecute da corda = corda. Formatar (“document.getElementById (“{0} ").innerHTML = “{1}”; “, labelID, "");

            se (changedRows.Length! = 1)
            {
                clientExecute = corda. Formatar (“document.getElementById (“{0} ").innerHTML = “{1}”; “,
                    labelID, “Unbale para encontrar a ordem para updating.");

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

            valores novos de //Update
            newValues do Hashtable = Hashtable novo ();
            //The GridTableView encherá os valores de todas as colunas editable na mistura
            item.OwnerTableView.ExtractValuesFromItem (newValues, editedItem);

            changedRow de DataRow = changedRows [0];
            changedRow.BeginEdit ();
            tentativa
            {                    
                foreach (entrada da entrada no dicionário nos newValues)
                {
                    changedRow [entrada (da corda). Chave] = entrada. Valor;
                }
                changedRow.EndEdit ();
            }
            prendedor (exceção ex)
            {
                changedRow.CancelEdit ();
                A modalidade de //In AJAX isto atualizará o texto correspondente da etiqueta, cliente-lado:
                clientExecute = corda. Formato (“document.getElementById (“{0} ").innerHTML = “{1}”; “,
                    labelID, Server.HtmlEncode (“incapaz de atualizar ordens. Razão: ” + ex. Mensagem). Substituir (““”, “” ").Replace (” \ r \ n ", “
"));

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

            //Code para atualizar a base de dados pode ir aqui…
            clientExecute = corda. Formatar (“document.getElementById (“{0} ").innerHTML = “{1}”; “,
                labelID, “ordem” + changedRow [“OrderID”] +”, ProductID “+ changedRow [“ProductID”] +” atualizado ");

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

    }

}
------------------------------Código de ASPX------------------------------
<>.cs " Inherits= " Telerik.GridExamplesCSharp.AJAX.EditOnDblClick.DefaultCS " %>
<>arte " Assembly= " Telerik.QuickStart " %>
<> %>
<>“%>
<> %>
<>rols " Assembly= " RadGrid " %>
http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd">

   
        tag>
       
       
       
   
   
       
            lerik: header>
           
                                    pagesize= " 20 " GridLines= " nenhum runat= " verdadeiro " " usuário " " do allowpaging= >
                   
                   
                   
                        clientevents>
                   

               

           

           
           
            r>
       
   


Você pode querer permitir que o usuário force o artigo da grade edita dentro a modalidade simplesmente double-clicking o artigo respetivo (uma aproximação fácil e intuitiva). Este programa demonstrativo ilustra como comutar uma fileira edita dentro a modalidade double-clicking um artigo da grade arbitrária e como atualizar esta fileira quando o usuário estala uma outra fileira na grade. Além disso, um user-friendly confirma o diálogo será indicado para alertar se a operação deve ser propagada ou não.
As chamadas dos usos RadGridClientObject.AjaxRequest do exemplo () (prendendo os eventos de RowClick e de RowDblClick) e o evento do onchange das entradas nas fileiras da grade usadas editando (o alimentador para o evento do onchange é atribuído no alimentador de RowCreated da grade).

A edição adicional derruba-o e engana- (por exemplo como executar atualizações do grupo) pode encontrar no Como-ao subchapter seção dos registros da inserção/atualização/supressão na ajuda em linha do produto:
Como-a
using o sistema;
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
{
    classe abstrata pública DefaultCS: XhtmlPage
    {
        Código gerado desenhador do formulário da correia fotorreceptora do #region
        OnInit vago protegido ultrapassagem (EventArgs e)
        {
            //
            // CODEGEN: Esta chamada é exigida pelo desenhador do formulário da correia fotorreceptora de ASP.NET.
            //
            InitializeComponent ();
            base.OnInit (e);
        }
       
        /// exigiu o método para a sustentação do desenhador - não modificar
        /// os índices deste método com o editor do código.
        ///
        InitializeComponent vago confidencial ()
        {
            this.RadGrid1.NeedDataSource += Telerik.WebControls.GridNeedDataSourceEventHandler novo (this.RadGrid1_NeedDataSource);
            this.RadGrid1.ColumnCreated += Telerik.WebControls.GridColumnCreatedEventHandler novo (this.RadGrid1_ColumnCreated);
            isto. Carga += EventHandler novo (este. Page_Load);
        }
        #endregion

        System.Web.UI.WebControls.Label protegido Label1;
        Telerik.WebControls.RadGrid protegido RadGrid1;

        Page_Load vago protegido (remetente do objeto, System.EventArgs e)
        {
            clientExecute da corda = corda. Formatar (“document.getElementById (“{0} ").innerHTML = ''; “, isto. Label1.ClientID);
            this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
        }

        vácuo confidencial RadGrid1_NeedDataSource (fonte do objeto, Telerik.WebControls.GridNeedDataSourceEventArgs e)
        {
            RadGrid1.DataSource = OrderDetails;
        }

        DataTable confidencial OrderDetails
        {
            começ
            {
                se (isto. Sessão [“OrderDetails”]! = zero)
                {
                    retornar (DataTable) isto. Sessão [“OrderDetails”];
                }

                DataTable res = DataSourceHelperCS.GetDataTable (“SELECIONAR * DE [detalhes da ordem] ");
                isto. Sessão [“OrderDetails”] = res;
                res do retorno;
            }            
        }

        vácuo protegido RaisePostBackEvent da ultrapassagem (sourceControl de IPostBackEventHandler, eventArgument da corda)
        {
            base.RaisePostBackEvent (sourceControl, eventArgument);
            se (o sourceControl é RadGrid)
            {
                amarrar [] o postBackEventArgumentData = o eventArgument.Split (“: ");
                interruptor (postBackEventArgumentData [0])
                {
                    o caso “edita”:
                    {
                        ((RadGrid1.MasterTableView.Controls [0] como a tabela). Fileiras [int. Analisar gramaticalmente (postBackEventArgumentData [1])] como GridItem). Editar = retificar;
                        RadGrid1.Rebind ();
                        ruptura;
                    }
                    caso “atualização”:
                    {
                        Artigo de GridItem = ((RadGrid1.MasterTableView.Controls [0] como a tabela). Fileiras [int. Analisar gramaticalmente (postBackEventArgumentData [1])] como GridItem);
                        UpdateItem (artigo);
                        artigo. Editar = falso;
                        RadGrid1.Rebind ();
                        ruptura;
                    }                
                }
            }
        }

        vácuo confidencial RadGrid1_ColumnCreated (remetente do objeto, Telerik.WebControls.GridColumnCreatedEventArgs e)
        {
            se (e.Column é GridBoundColumn)
            {
                se ((e.Column como GridBoundColumn) == “OrderID” de .DataField || (e.Column como GridBoundColumn) == “ProductID” de .DataField)
                {
                    (e.Column como GridBoundColumn) .ReadOnly = retificam;
                    e.Column.HeaderStyle.Width = Unit.Pixel (60);
                }
                mais
                {
                    e.Column.HeaderStyle.Width = Unit.Pixel (150);
                }
            }
        }

        UpdateItem vago confidencial (artigo de GridItem)
        {
            editedItem = artigo de GridEditableItem como GridEditableItem;
            DataTable ordersTable = this.OrderDetails;

            //Locate a fileira mudada na origem de dados
            changedRows de DataRow [] = ordersTable.Select (“OrderID =” + editedItem [“OrderID”]. Texto +” E “+” ProductID = “+ editedItem [“ProductID”]. Texto);
           
            labelID da corda = isto. Label1.ClientID;
            clientExecute da corda = corda. Formatar (“document.getElementById (“{0} ").innerHTML = “{1}”; “, labelID, "");

            se (changedRows.Length! = 1)
            {
                clientExecute = corda. Formatar (“document.getElementById (“{0} ").innerHTML = “{1}”; “,
                    labelID, “Unbale para encontrar a ordem para updating.");

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

            valores novos de //Update
            newValues do Hashtable = Hashtable novo ();
            //The GridTableView encherá os valores de todas as colunas editable na mistura
            item.OwnerTableView.ExtractValuesFromItem (newValues, editedItem);

            changedRow de DataRow = changedRows [0];
            changedRow.BeginEdit ();
            tentativa
            {                    
                foreach (entrada da entrada no dicionário nos newValues)
                {
                    changedRow [entrada (da corda). Chave] = entrada. Valor;
                }
                changedRow.EndEdit ();
            }
            prendedor (exceção ex)
            {
                changedRow.CancelEdit ();
                A modalidade de //In AJAX isto atualizará o texto correspondente da etiqueta, cliente-lado:
                clientExecute = corda. Formato (“document.getElementById (“{0} ").innerHTML = “{1}”; “,
                    labelID, Server.HtmlEncode (“incapaz de atualizar ordens. Razão: ” + ex. Mensagem). Substituir (““”, “” ").Replace (” \ r \ n ", “
"));

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

            //Code para atualizar a base de dados pode ir aqui…
            clientExecute = corda. Formatar (“document.getElementById (“{0} ").innerHTML = “{1}”; “,
                labelID, “ordem” + changedRow [“OrderID”] +”, ProductID “+ changedRow [“ProductID”] +” atualizado ");

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

    }

}

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

   
        tag>
       
       
       
   
   
       

            lerik: header>
           
                                    pagesize= " 20 " GridLines= " nenhum runat= " verdadeiro " " usuário " " do allowpaging= >
                   
                   
                   
                        clientevents>
                   

               

           

           
           
            r>
       
   


Esperar esta ajuda
Outras soluções  
 
programming4us programming4us