------------------------------------C# kodifierar---------------------------------
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
{
den offentliga abstrakt begrepp klassificerar DefaultCS: XhtmlPage
{
#regionrengöringsduken bildar den frambragda formgivare kodifierar
åsidosättande skyddade utan laga kraft OnInit (EventArgs e)
{
//
// CODEGEN: Denna appell krävs av ASP.NET-rengöringsduken bildar formgivare.
//
InitializeComponent ();
base.OnInit (e);
}
/// krävde metoden för märkes- service - ändra inte
/// tillfredsställer av denna metod med kodifieraredaktören.
///
privata utan laga kraft InitializeComponent ()
{
this.RadGrid1.NeedDataSource += ny Telerik.WebControls.GridNeedDataSourceEventHandler (this.RadGrid1_NeedDataSource);
this.RadGrid1.ColumnCreated += ny Telerik.WebControls.GridColumnCreatedEventHandler (this.RadGrid1_ColumnCreated);
detta. Ladda += nya EventHandler (denna. Page_Load);
}
#endregion
skyddad System.Web.UI.WebControls.Label Label1;
skyddad Telerik.WebControls.RadGrid RadGrid1;
skyddade utan laga kraft Page_Load (anmärka avsändaren, System.EventArgs e),
{
stränga clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ''; ”detta. Label1.ClientID);
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
}
privat utan laga kraft RadGrid1_NeedDataSource (anmärka källan, Telerik.WebControls.GridNeedDataSourceEventArgs e),
{
RadGrid1.DataSource = OrderDetails;
}
privata DataTable OrderDetails
{
få
{
om (detta. Period [”OrderDetails”]! = ogiltigt)
{
gå (DataTable) detta tillbaka. Period [”OrderDetails”];
}
DataTable res = DataSourceHelperCS.GetDataTable (”VALT * FRÅN [beställa specificerar],”);
detta. Period [”OrderDetails”] = res;
återgång res;
}
}
skyddad åsidosättande utan laga kraft RaisePostBackEvent (den IPostBackEventHandler sourceControlen, stränger eventArgument),
{
base.RaisePostBackEvent (sourceControl, eventArgument);
om (sourceControlen är RadGrid),
{
stränga [] postBackEventArgumentDataen = eventArgument.Split (”: ”);
koppla (postBackEventArgumentData [0])
{
fallet ”redigerar”:
{
((RadGrid1.MasterTableView.Controls [0] som bordlägger). Ror [int. Parse (postBackEventArgumentData [1])] som GridItem). Redigera = true;
RadGrid1.Rebind ();
avbrott;
}
fall ”uppdatering”:
{
GridItem objekt = ((RadGrid1.MasterTableView.Controls [0] som bordlägger). Ror [int. Parse (postBackEventArgumentData [1])] som GridItem);
UpdateItem (objekt);
objekt. Redigera = falskt;
RadGrid1.Rebind ();
avbrott;
}
}
}
}
privat utan laga kraft RadGrid1_ColumnCreated (anmärka avsändaren, Telerik.WebControls.GridColumnCreatedEventArgs e),
{
om (e.Column är GridBoundColumn),
{
om ((e.Column som GridBoundColumn) .DataField- == ”OrderID”, || (e.Column som GridBoundColumn) .DataField- == ”ProductID”)
{
(e.Column som GridBoundColumn) .ReadOnly = true;
e.Column.HeaderStyle.Width = Unit.Pixel (60);
}
annars
{
e.Column.HeaderStyle.Width = Unit.Pixel (150);
}
}
}
privata utan laga kraft UpdateItem (det GridItem objektet)
{
GridEditableItem editedItem = objekt som GridEditableItem;
ordersTable DataTable = this.OrderDetails;
ändrande //Locate ror i dataSourcen
DataRow [] changedRows = ordersTable.Select (”OrderID =” + editedItem [”OrderID”]. Text +” OCH ”+” ProductID = ”+ editedItem [”ProductID”]. Text);
stränga labelID = detta. Label1.ClientID;
stränga clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”, labelID, "");
om (changedRows.Length! = 1)
{
clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”,
labelID ”Unbale som lokaliserar beställa för att uppdatera. ”);
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
retur;
}
nya //Update värderar
HashtablenewValues = ny Hashtable ();
Den //The GridTableView ska påfyllningen värderar från alla redigerbara kolonner i pölsan
item.OwnerTableView.ExtractValuesFromItem (newValues, editedItem);
DataRow changedRow = changedRows [0];
changedRow.BeginEdit ();
försök
{
foreach (DictionaryEntrytillträde i newValues)
{
changedRow [(stränga), tillträde. Stämma] = tillträdeet. Värdera;
}
changedRow.EndEdit ();
}
fånga (undantagsföre detta)
{
changedRow.CancelEdit ();
Det //In AJAX funktionsläget detta ska uppdateringen den motsvarande etiketttexten, beställare-sida:
clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”,
labelID Server.HtmlEncode (”oförmöget att uppdatera beställer. Resonera: ” + före detta. Meddelande). Byt ut (”””, ”” ”). Byt ut (” \ r \ n ", ”,
”));
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
retur;
}
//Code för att uppdatera databasen kan gå här…,
clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”,
labelID ”beställer” + changedRow [”OrderID”] +”, productIDen ”+ changedRow [”ProductID”] +” uppdaterat ");
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
}
}
}
------------------------------ASPX kodifierar------------------------------
<>.cs " Inherits= " Telerik.GridExamplesCSharp.AJAX.EditOnDblClick.DefaultCS " %>
<>konst " Assembly= " Telerik.QuickStart " %>
<> %>
<>”%>
<> %>
<>rols " Assembly= " RadGrid " %>
http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd">
tag>
Du kan önska att låta användaren tvinga rasterobjektet redigerar in funktionsläge, vid double-clicking enkelt av det respektive objektet (ett lätt och ett intuitivt att närma sig). Denna demo illustrerar hur man kopplar en ro redigerar in funktionsläge, vid double-clicking av ett godtyckligt rasterobjekt, och hur man uppdaterar detta ro, när användaren klickar another ror i rastret. Dessutom ett användarvänligt bekräftar den ska dialogen visas för att meddela huruvida funktionen bör fortplantas eller inte.
Exemplet använder appeller för RadGridClientObject.AjaxRequest () (som binder de RowClick och RowDblClick händelserna), och onchangehändelsen av matar in i rastret ror använt för att redigera (förlagehanteraren för onchangehändelsen tilldelas i den RowCreated förlagehanteraren av rastret).
Extra redigerande spetsar och trick (till exempel hur man utför grupperar uppdateringar) som du kan finna i Hur-till subchapter från de mellanläggs-/uppdatering-/borttagningsrekorden, delar upp i produktens on-line hjälp:
Hur-till
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
{
den offentliga abstrakt begrepp klassificerar DefaultCS: XhtmlPage
{
#regionrengöringsduken bildar den frambragda formgivare kodifierar
åsidosättande skyddade utan laga kraft OnInit (EventArgs e)
{
//
// CODEGEN: Denna appell krävs av ASP.NET-rengöringsduken bildar formgivare.
//
InitializeComponent ();
base.OnInit (e);
}
/// krävde metoden för märkes- service - ändra inte
/// tillfredsställer av denna metod med kodifieraredaktören.
///
privata utan laga kraft InitializeComponent ()
{
this.RadGrid1.NeedDataSource += ny Telerik.WebControls.GridNeedDataSourceEventHandler (this.RadGrid1_NeedDataSource);
this.RadGrid1.ColumnCreated += ny Telerik.WebControls.GridColumnCreatedEventHandler (this.RadGrid1_ColumnCreated);
detta. Ladda += nya EventHandler (denna. Page_Load);
}
#endregion
skyddad System.Web.UI.WebControls.Label Label1;
skyddad Telerik.WebControls.RadGrid RadGrid1;
skyddade utan laga kraft Page_Load (anmärka avsändaren, System.EventArgs e),
{
stränga clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ''; ”, detta. Label1.ClientID);
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
}
privat utan laga kraft RadGrid1_NeedDataSource (anmärka källan, Telerik.WebControls.GridNeedDataSourceEventArgs e),
{
RadGrid1.DataSource = OrderDetails;
}
privata DataTable OrderDetails
{
få
{
om (detta. Period [”OrderDetails”]! = ogiltigt)
{
gå (DataTable) detta tillbaka. Period [”OrderDetails”];
}
DataTable res = DataSourceHelperCS.GetDataTable (”VALT * FRÅN [beställa specificerar],”);
detta. Period [”OrderDetails”] = res;
återgång res;
}
}
skyddad åsidosättande utan laga kraft RaisePostBackEvent (den IPostBackEventHandler sourceControlen, stränger eventArgument),
{
base.RaisePostBackEvent (sourceControl, eventArgument);
om (sourceControlen är RadGrid),
{
stränga [] postBackEventArgumentDataen = eventArgument.Split (”: ”);
koppla (postBackEventArgumentData [0])
{
fallet ”redigerar”:
{
((RadGrid1.MasterTableView.Controls [0] som bordlägger). Ror [int. Parse (postBackEventArgumentData [1])] som GridItem). Redigera = true;
RadGrid1.Rebind ();
avbrott;
}
fall ”uppdatering”:
{
GridItem objekt = ((RadGrid1.MasterTableView.Controls [0] som bordlägger). Ror [int. Parse (postBackEventArgumentData [1])] som GridItem);
UpdateItem (objekt);
objekt. Redigera = falskt;
RadGrid1.Rebind ();
avbrott;
}
}
}
}
privat utan laga kraft RadGrid1_ColumnCreated (anmärka avsändaren, Telerik.WebControls.GridColumnCreatedEventArgs e),
{
om (e.Column är GridBoundColumn),
{
om ((e.Column som GridBoundColumn) .DataField- == ”OrderID”, || (e.Column som GridBoundColumn) .DataField- == ”ProductID”)
{
(e.Column som GridBoundColumn) .ReadOnly = true;
e.Column.HeaderStyle.Width = Unit.Pixel (60);
}
annars
{
e.Column.HeaderStyle.Width = Unit.Pixel (150);
}
}
}
privata utan laga kraft UpdateItem (det GridItem objektet)
{
GridEditableItem editedItem = objekt som GridEditableItem;
ordersTable DataTable = this.OrderDetails;
ändrande //Locate ror i dataSourcen
DataRow [] changedRows = ordersTable.Select (”OrderID =” + editedItem [”OrderID”]. Text +” OCH ”+” ProductID = ”+ editedItem [”ProductID”]. Text);
stränga labelID = detta. Label1.ClientID;
stränga clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”, labelID, "");
om (changedRows.Length! = 1)
{
clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”,
labelID ”Unbale som lokaliserar beställa för att uppdatera. ”);
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
retur;
}
nya //Update värderar
HashtablenewValues = ny Hashtable ();
Den //The GridTableView ska påfyllningen värderar från alla redigerbara kolonner i pölsan
item.OwnerTableView.ExtractValuesFromItem (newValues, editedItem);
DataRow changedRow = changedRows [0];
changedRow.BeginEdit ();
försök
{
foreach (DictionaryEntrytillträde i newValues)
{
changedRow [(stränga), tillträde. Stämma] = tillträdeet. Värdera;
}
changedRow.EndEdit ();
}
fånga (undantagsföre detta)
{
changedRow.CancelEdit ();
Det //In AJAX funktionsläget detta ska uppdateringen den motsvarande etiketttexten, beställare-sida:
clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”,
labelID Server.HtmlEncode (”oförmöget att uppdatera beställer. Resonera: ” + före detta. Meddelande). Byt ut (”””, ”” ”). Byt ut (” \ r \ n ", ”,
”));
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
retur;
}
//Code för att uppdatera databasen kan gå här…,
clientExecute = stränger. Formatera (”document.getElementById (”{0}”) .innerHTML = ”{1}”; ”,
labelID ”beställer” + changedRow [”OrderID”] +”, productIDen ”+ changedRow [”ProductID”] +” uppdaterat ");
this.RadGrid1.ClientSettings.ClientEvents.OnGridCreated = clientExecute;
}
}
}
<>.cs " Inherits= " Telerik.GridExamplesCSharp.AJAX.EditOnDblClick.DefaultCS " %>
<>konst " Assembly= " Telerik.QuickStart " %>
<> %>
<>”%>
<> %>
<>rols " Assembly= " RadGrid " %>
http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd">
tag>
Hoppas denna hjälp