Replies
I have this post in the wrong forum. I am working with a WHDG. I will post it there also. Here is my code behind for a column in the parent row (RemoveDocument) and the child row (SignatureTypeEnumValue).
whdgOrganize.Behaviors.EditingCore.Behaviors.CellEditing.ColumnSettings(
"RemoveDocument").ReadOnly = True
whdgOrganize.Bands0).Behaviors.EditingCore.Behaviors.CellEditing.ColumnSettings(
"SignatureTypeEnumValue").ReadOnly = True
<ig:WebHierarchicalDataGrid ID="whdgOrganize" runat="server"
AutoGenerateColumns="False" AutoGenerateBands="False" DataKeyFields="LoanAppEnvelopeDocumentRecID"
EnableAjax="false" EnableDataViewState="true" Height="400px" InitialDataBindDepth="1" Style="Z-INDEX: 100; LEFT: 20px; POSITION: absolute; TOP: 43px"
Width="1070px">
<Columns>
<ig:UnboundCheckBoxField Key="RemoveDocument" Header-Text="Rem" Width="30px"></ig:UnboundCheckBoxField>
<ig:BoundDataField DataFieldName="DocumentDescription" Key="DocumentDescription" Header-Text="Document Description" Width="403px" ></ig:BoundDataField>
<ig:BoundDataField DataFieldName="LoanAppEnvelopeDocumentRecID" Key="LoanAppEnvelopeDocumentRecID" Hidden ="true"></ig:BoundDataField>
</Columns>
<Behaviors>
<ig:EditingCore>
<Behaviors>
<ig:CellEditing>
<ColumnSettings>
<ig:EditingColumnSetting ColumnKey="RemoveDocument" ReadOnly="false"/>
<ig:EditingColumnSetting ColumnKey="DocumentDescription" ReadOnly="true" />
</ColumnSettings>
</ig:CellEditing>
</Behaviors>
</ig:EditingCore>
<ig:Selection Enabled ="true"></ig:Selection>
<ig:Activation Enabled="true"></ig:Activation>
</Behaviors>
<Bands>
<ig:Band Key="LoanAppEnvelopeDocumentSignerSignatureRecID"
DataMember="Signature"
DataKeyFields="LoanAppEnvelopeDocumentSignerSignatureRecID"
AutoGenerateColumns="false">
<Columns >
<ig:BoundDataField DataFieldName="SignatureTypeEnumValue" Key="SignatureTypeEnumValue" Header-Text="Signature Type" Width="130px"></ig:BoundDataField>
<ig:BoundDataField DataFieldName="SignerRole" Key="SignerRole" Header-Text="Role" Width="25px" ></ig:BoundDataField>
<ig:BoundDataField DataFieldName="SignerName" Key="SignerName" Header-Text="Name" Width="260px" ></ig:BoundDataField>
<ig:BoundDataField DataFieldName="SignatureFieldName" Key="SignatureFieldName" Header-Text="Reference" Width="445px" ></ig:BoundDataField>
<ig:BoundDataField DataFieldName="LoanAppEnvelopeDocumentRecID" Key="LoanAppEnvelopeDocumentRecID" Hidden ="true"></ig:BoundDataField>
<ig:BoundDataField DataFieldName="LoanAppEnvelopeSignerRecID" Key="LoanAppEnvelopeSignerRecID" Hidden ="true" ></ig:BoundDataField>
<ig:BoundDataField DataFieldName="LoanAppEnvelopeDocumentSignerSignatureRecID" Key="LoanAppEnvelopeDocumentSignerSignatureRecID" Hidden ="true" ></ig:BoundDataField>
</Columns>
<Behaviors>
<ig:EditingCore>
<Behaviors>
<ig:CellEditing>
<EditModeActions EnableOnActive="true" EnableOnKeyPress ="true" MouseClick="Single"/>
<ColumnSettings>
<ig:EditingColumnSetting ColumnKey="SignatureTypeEnumValue" EditorID="ddpSignatureType" ReadOnly ="false"/>
<ig:EditingColumnSetting ColumnKey="SignerRole" ReadOnly="true" />
<ig:EditingColumnSetting ColumnKey="SignerName" ReadOnly="true" />
<ig:EditingColumnSetting ColumnKey="SignatureFieldName" ReadOnly="true" />
</ColumnSettings>
</ig:CellEditing>
</Behaviors>
</ig:EditingCore>
</Behaviors>
</ig:Band>
</Bands>
<EditorProviders>
<ig:DropDownProvider ID="ddpSignatureType">
<EditorControl ID="ecSignatureType" runat="server" StyleSetName="Office2007Blue" EnableRenderingAnchors="false"
DisplayMode="DropDownList" DataKeyFields="Value" TextField="Description" ValueField="Value"/>
</ig:DropDownProvider>
</EditorProviders>
</ig:WebHierarchicalDataGrid>
</Template>
</ig:ContentTabItem>
The last post was not written by me and it is not on my subject of disabling a column in JavaScript.
The JavaScript works great, which was my original post. Thank you. I am still having trouble disabling the column on the server side but I have not gotten back to trying it again.
Dave,
That worked for me on the client-side. Here is my code, in case it can help someone else:
wdgDocuments.get_columns().get_columnFromKey(
"HasSignerAssociatedWithDocument")._editableCheckbox = false;
For the server side problem, I do have a matching key, "RemoveDocument". Here is a piece of my grid HTML.
<Columns>
<ig:UnboundCheckBoxField Key="RemoveDocument" Header-Text="Rem" Width="30px"> </ig:UnboundCheckBoxField>
<ig:BoundDataField DataFieldName="DocumentDescription" Key="DocumentDescription" Header-Text="Document Description" Width="403px" ></ig:BoundDataField>
<ig:BoundDataField DataFieldName="LoanAppEnvelopeDocumentRecID" Key="LoanAppEnvelopeDocumentRecID" Hidden ="true"></ig:BoundDataField>
</Columns>
<Behaviors>
<ig:EditingCore>
<EditingClientEvents CellValueChanged="Grid_CellValueChanged" />
<Behaviors>
<ig:CellEditing>
<ColumnSettings>
<ig:EditingColumnSetting ColumnKey="RemoveDocument" ReadOnly="false" />
<ig:EditingColumnSetting ColumnKey="DocumentDescription" ReadOnly="true" />
</ColumnSettings>
</ig:CellEditing>
</Behaviors>
</ig:EditingCore>
<ig:Selection Enabled ="true"></ig:Selection>
<ig:Activation Enabled="true"></ig:Activation>
</Behaviors>
Thanks for the quick reply. I do not know what you mean by …
we scan for the column setting in the initialization and set _editableCheckbox on the column
I know that I cannot disable an individual cell but there is no way to disable the entire column in JS? I am also trying to do this on the server side without luck. This example is an UnboundCheckBoxField.
Dim
gridColumnEditSetting As ColumnEditSetting
gridColumnEditSetting = whdgOrganize.Behaviors.EditingCore.Behaviors.CellEditing.ColumnSettings(
"RemoveDocument")
gridColumnEditSetting.ReadOnly =
True
I got a bit more…once I added my column to Behaviors/EditingCode/Behaviors/CellEditing I can get at the ReadOnly property in JavaScript, but I cannot change the ReadOnly property to True.
HTML:
<ig:EditingColumnSetting ColumnKey="HasSignerAssociatedWithDocument" ReadOnly ="false" />
BLOCKED SCRIPT
wdgDocuments.get_behaviors().get_editingCore().get_behaviors().get_cellEditing().get_columnSettingFromKey(
"HasSignerAssociatedWithDocument").get_readOnly() == true;