Mar 13, 2012, 10:16 AM
[CLOSED] Editable column on grid: how to raise an event for saving
Hi folks,
this piece of code works fine except one step. When user check or un check a cell of first column it should raise an event for saving the change at data base (this is the seleccionado member of public class WrapperGenerico)
Please may you help?
Cheers!
this piece of code works fine except one step. When user check or un check a cell of first column it should raise an event for saving the change at data base (this is the seleccionado member of public class WrapperGenerico)
Please may you help?
Cheers!
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="extnet_proves.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function PagerIncidenciasUpdate() {
var rowsPerPage = ddRowsPerPageIncidencias.getValue();
if (rowsPerPage == "ALL") {
rowsPerPage = StoreIncidencias.totalLength;
}
var NewVariable = parseInt(rowsPerPage);
StoreIncidencias.start = 1;
StoreIncidencias.limit = NewVariable;
pagerIncidencias.pageSize = NewVariable;
pagerIncidencias.doLoad(pagerIncidencias.cursor);
pagerIncidencias.moveFirst();
};
</script>
<script runat="server">
public class WrapperGenerico
{
public bool Seleccionado { get; set; }
public string Codigo { get; set; }
public string Descripcion { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
this.BindData();
}
}
private void BindData()
{
this.gvIncidencias.Store.Primary.DataSource = this.GetData();
this.gvIncidencias.Store.Primary.DataBind();
}
private System.Collections.Generic.List<WrapperGenerico> GetData()
{
return new System.Collections.Generic.List<WrapperGenerico>
{
new WrapperGenerico { Codigo = "001", Descripcion="Desc 1", Seleccionado=true },
new WrapperGenerico { Codigo = "002", Descripcion="Desc 2", Seleccionado=true },
new WrapperGenerico { Codigo = "003", Descripcion="Desc 3", Seleccionado=false },
new WrapperGenerico { Codigo = "004", Descripcion="Desc 4", Seleccionado=false },
new WrapperGenerico { Codigo = "005", Descripcion="Desc 5", Seleccionado=true },
new WrapperGenerico { Codigo = "006", Descripcion="Desc 6", Seleccionado=true },
new WrapperGenerico { Codigo = "007", Descripcion="Desc 7", Seleccionado=false },
new WrapperGenerico { Codigo = "008", Descripcion="Desc 8", Seleccionado=false },
new WrapperGenerico { Codigo = "009", Descripcion="Desc 9", Seleccionado=true },
new WrapperGenerico { Codigo = "010", Descripcion="Desc 10", Seleccionado=true },
new WrapperGenerico { Codigo = "011", Descripcion="Desc 11", Seleccionado=false },
new WrapperGenerico { Codigo = "012", Descripcion="Desc 12", Seleccionado=false },
new WrapperGenerico { Codigo = "013", Descripcion="Desc 13", Seleccionado=true },
new WrapperGenerico { Codigo = "014", Descripcion="Desc 14", Seleccionado=true },
new WrapperGenerico { Codigo = "015", Descripcion="Desc 15", Seleccionado=false },
new WrapperGenerico { Codigo = "016", Descripcion="Desc 16", Seleccionado=false }
};
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:GridPanel ID="gvIncidencias" runat="server" StripeRows="true" TrackMouseOver="true"
meta:resourcekey="gvIncidencias" AutoWidth="true" Height="300">
<Store>
<ext:Store ID="StoreIncidencias" runat="server">
<Reader>
<ext:JsonReader>
<Fields>
<ext:RecordField Name="Codigo" />
<ext:RecordField Name="Descripcion" />
<ext:RecordField Name="Seleccionado" />
</Fields>
</ext:JsonReader>
</Reader>
<BaseParams>
<ext:Parameter Name="Codigo" Value="Ext.getCmp('#{gvIncidencias}') && #{gvIncidencias}.getSelectionModel().hasSelection() ? #{gvIncidencias}.getSelectionModel().getSelected().id : -1"
Mode="Raw" />
</BaseParams>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel3" runat="server">
<Columns>
<ext:CheckColumn DataIndex="Seleccionado" meta:resourcekey="gvIncidencias_COL00"
Sortable="false" Editable="true" />
<ext:Column DataIndex="Codigo" meta:resourcekey="gvIncidencias_COL01" Sortable="false" />
<ext:Column DataIndex="Descripcion" meta:resourcekey="gvIncidencias_COL01" Sortable="false" />
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel2" runat="server" SingleSelect="true">
<Listeners>
<RowSelect Handler="#{StoreIncidencias}.reload();" Buffer="250" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
<BottomBar>
<ext:PagingToolbar ID="pagerIncidencias" runat="server" HideRefresh="true">
<Items>
<ext:ToolbarSeparator ID="sr1" runat="server" />
<ext:ComboBox ID="ddRowsPerPageIncidencias" runat="server" Editable="false" meta:resourcekey="ddRowsPerPageIncidencias"
Width="100" ForceSelection="true" SelectedIndex="1" TriggerAction="ALL" FireSelectOnLoad="True"
SelectOnFocus="true">
<Listeners>
<Select Handler="PagerIncidenciasUpdate()" />
</Listeners>
<Items>
<ext:ListItem Text="5" Value="5" />
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem meta:resourcekey="ALL" Value="ALL" />
</Items>
</ext:ComboBox>
<ext:ToolbarSeparator ID="tbrSep1" runat="server" />
</Items>
</ext:PagingToolbar>
</BottomBar>
</ext:GridPanel>
</form>
</body>
</html>
Last edited by Daniil; Mar 15, 2012 at 9:51 PM.
Reason: [CLOSED]