Mar 20, 2014, 2:42 PM
[CLOSED] Enable/Disable cell or row of a GridPanel
Hi,
i am trying to disable a cell or a row of gridpanel depending of if a checkcolumn of the row is checked or not.
Is there an easy way to achieve this ?
Here is the code i am currently using:
i am trying to disable a cell or a row of gridpanel depending of if a checkcolumn of the row is checked or not.
Is there an easy way to achieve this ?
Here is the code i am currently using:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="frmGarantieEvolved.aspx.cs" Inherits="NTECH.IXPERTA.EXT.Web.UI.Views.PageControls.Common.frmGarantieEvolved" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script>
function renderTitle(value, p, record) {
return value ? Ext.String.format(
'<a href="http://sencha.com/forum/showthread.php?t={1}" target="_blank">{0}</a>',
value,
record.data.threadid
) : '';
}
var edit = function (editor, e) {
/*
"e" is an edit event with the following properties:
grid - The grid
record - The record that was edited
field - The field name that was edited
value - The value being set
originalValue - The original value for the field, before the edit.
row - The grid table row
column - The grid Column defining the column that was edited.
rowIdx - The row index that was edited
colIdx - The column index that was edited
*/
// Call DirectMethod
if (!(e.value === e.originalValue || (Ext.isDate(e.value) && Ext.Date.isEqual(e.value, e.originalValue)))) {
CompanyX.Edit(e.record.data.ID, e.field, e.originalValue, e.value, e.record.data);
}
};
var myCustomFn = function (e)
{
if (e.field == "Check")
{
if (e.value == false)
{
e.field = "EstObligatoire";
if (e.record.data[e.field] == true)
{
e.field = "Selectionne";
e.record.data[e.field] = true;
e.record.commit();
}
}
}
};
var getRowClass = function (record, index)
{
var isSelected = this.grid.getSelectionModel().isSelected(record);
return isSelected ? "checked-row" : "unchecked-row";
};
</script>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" ShowWarningOnAjaxFailure="false" AjaxTimeout="3600000"/>
<div>
<%-- <ext:FormPanel ID="FormPanelGarantieSouscrite1"
runat="server"
BodyPadding="5" Width="810"
DefaultAnchor="90%"
Layout="HBoxLayout"
Flex="1">--%>
<ext:GridPanel ID="GarantiesPanel" runat="server"
Title="Garanties"
Width="1024"
Height="500"
Collapsible="true"
UseArrows="true"
RootVisible="false"
Animate="false">
<Store>
<ext:Store runat="server" GroupField="Parent">
<Model>
<ext:Model ID="Model1" runat="server" IDProperty="Id" Name="GarantieModel">
<Fields>
<ext:ModelField Name="ID" Type="Int" ServerMapping="ID"/>
<ext:ModelField Name="Name" Type="String" ServerMapping="Name" />
<ext:ModelField Name="Parent" Type="String" ServerMapping="Parent" />
<ext:ModelField Name="PrimedeBase" Type="Float" ServerMapping="Primedebase" />
<ext:ModelField Name="Capitaux" Type="Float" ServerMapping="Capitaux" />
<ext:ModelField Name="Reduction" Type="Float" DefaultValue="0" ServerMapping="Reduction" />
<ext:ModelField Name="Check" Type="Boolean" ServerMapping="Selectionne" />
<ext:ModelField Name="Obligatoire" Type="Boolean" ServerMapping="EstObligatoire" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<Plugins>
<ext:BufferedRenderer runat="server" />
<%--<ext:CellEditing runat="server">
<Listeners>
<Edit Fn="myCustomFn" />
</Listeners>
</ext:CellEditing>--%>
</Plugins>
<ColumnModel>
<Columns>
<ext:CheckColumn ID="Column3" runat="server" Text="Checked" DataIndex="Check" Locked="true" Editable="true">
<DirectEvents>
<CheckChange OnEvent="checkChange">
<ExtraParams>
<ext:Parameter Name="checked" Value="checked" Mode="Raw" />
<ext:Parameter Name="GridPanelValues" Value="Ext.encode(#{GarantiesPanel}.getRowsValues({selectedOnly:false}))" Mode="Raw" />
</ExtraParams>
</CheckChange>
</DirectEvents>
</ext:CheckColumn>
<ext:Column ID="Column1" runat="server" Text="Parent" Width="100" DataIndex="Parent" Locked="true" />
<ext:Column ID="Id1" runat="server" Text="Description" Width="200" DataIndex="Name" Locked="true">
</ext:Column>
<ext:Column runat="server" Text="Prime de base" Width="120" DataIndex="PrimedeBase">
<Editor>
<ext:NumberField ID="NumberField1" runat="server" Editable="true"/>
</Editor>
</ext:Column>
<ext:Column runat="server" Text="Capitaux" Width="300" DataIndex="Capitaux">
<Editor>
<ext:NumberField ID="NumberField2" runat="server" Editable="true"/>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<Features>
<ext:Grouping ID="Grouping1"
runat="server"
HideGroupedHeader="true"
GroupHeaderTplString="Groupe: {name} ({rows.length} Item{[values.rows.length > 1 ? 's' : '']})"
StartCollapsed="true" />
</Features>
<Listeners>
<Edit Fn="myCustomFn" />
</Listeners>
<SelectionModel>
<ext:CheckboxSelectionModel ID="CheckboxSelectionModel1" runat="server" Mode="Multi" />
</SelectionModel>
</ext:GridPanel>
<hr />
<%-- </ext:FormPanel>--%>
</div>
</form>
</body>
</html>
Thanks in advance.
Last edited by Daniil; Mar 21, 2014 at 4:33 PM.
Reason: [CLOSED]