Calling ExtractValuesFromItem produces an empty dictionary when I utilize the RadGrid w/ EditFormSettings. I need to set the values of the controls in my FormTemplate on the server, but I'm not able to as the dictionary is empty. Is there a specific property I need to set on the grid to allow me to do this?
Here's the markup of my Grid:
| void drgGrid_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| if (e.Item is GridEditableItem && e.Item.IsInEditMode) |
| { |
| GridEditableItem item = (GridEditableItem)e.Item; |
| HybridDictionary extractedVals = new HybridDictionary(); |
| e.Item.OwnerTableView.ExtractValuesFromItem(extractedVals, item); |
| } |
| } |
Here's the markup of my Grid:
| <cym:RadGrid ID="drgGrid" runat="server" DataSourceID="drgODS"> |
| <ClientSettings Selecting-AllowRowSelect="true" /> |
| <MasterTableView DataKeyNames="DrgID" AlternatingItemStyle-HorizontalAlign="Center" |
| ItemStyle-HorizontalAlign="Center" CommandItemDisplay="Top"> |
| <Columns> |
| <rad:GridBoundColumn DataField="RV" Visible="false" ReadOnly="true" |
| ForceExtractValue="Always" /> |
| <rad:GridBoundColumn DataField="ValidfromDate" HeaderText="Valid From" |
| ForceExtractValue="Always" ReadOnly="true" Visible="false" /> |
| <rad:GridBoundColumn DataField="ValidThroughDate" HeaderText="Valid Through" |
| ForceExtractValue="Always" ReadOnly="true" Visible="false" /> |
| <rad:GridBoundColumn DataField="DrgType" HeaderText="Type" |
| ForceExtractValue="Always" ReadOnly="true" Visible="false" /> |
| <rad:GridBoundColumn DataField="Description" HeaderText="Description" |
| ForceExtractValue="Always" ReadOnly="true" Visible="false" /> |
| <rad:GridBoundColumn DataField="DrgCode" HeaderText="Code" ReadOnly="true" |
| HeaderStyle-Width="100px" ForceExtractValue="Always" /> |
| <rad:GridBoundColumn DataField="Version" HeaderText="Version" ReadOnly="true" |
| HeaderStyle-Width="90px" ForceExtractValue="Always" /> |
| <rad:GridTemplateColumn HeaderText="Type" SortExpression="DrgType" |
| HeaderStyle-Width="70px"> |
| <ItemTemplate> |
| <%#Eval("DrgType") %> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <cym:RadComboBox ID="typeDdl" runat="server" /> |
| </EditItemTemplate> |
| </rad:GridTemplateColumn> |
| <rad:GridTemplateColumn HeaderText="Description" UniqueName="Description" |
| ItemStyle-HorizontalAlign="Left" HeaderStyle-Width="300px"> |
| <ItemTemplate> |
| <%#Eval("Description") %> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <asp:TextBox ID="descriptionTb" runat="server" /> |
| <asp:RequiredFieldValidator ID="descriptionReqVldtr" runat="server" |
| ControlToValidate="descriptionTb" ErrorMessage="* Required." |
| Display="Dynamic" /> |
| </EditItemTemplate> |
| </rad:GridTemplateColumn> |
| <rad:GridTemplateColumn HeaderText="Valid From" SortExpression="ValidfromDate"> |
| <ItemTemplate> |
| <%# DataBinder.Eval(Container.DataItem, |
| "ValidfromDate", "{0:MM/dd/yyyy}") %> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <rad:RadDatePicker ID="fromDateDp" runat="server" |
| EnableEmbeddedSkins="false" Skin="Cymetrix" /> |
| <asp:RequiredFieldValidator ID="fromDateReqVldtr" runat="server" |
| ControlToValidate="fromDateDp" ErrorMessage="* Required." |
| Display="Dynamic" /> |
| </EditItemTemplate> |
| </rad:GridTemplateColumn> |
| <rad:GridTemplateColumn HeaderText="Valid Through" SortExpression="ValidThroughDate"> |
| <ItemTemplate> |
| <%# DataBinder.Eval(Container.DataItem, |
| "ValidThroughDate", "{0:MM/dd/yyyy}") %> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <rad:RadDatePicker ID="throughDateDp" runat="server" |
| EnableEmbeddedSkins="false" Skin="Cymetrix" /> |
| <asp:CompareValidator ID="throughDateCmpVldtr" runat="server" |
| ControlToValidate="throughDateDp" ControlToCompare="fromDateDp" |
| Type="Date" Operator="GreaterThan" Display="Dynamic" |
| ErrorMessage="Valid Through must be less than Valid From." /> |
| </EditItemTemplate> |
| </rad:GridTemplateColumn> |
| <rad:GridEditCommandColumn /> |
| <rad:GridButtonColumn ButtonType="LinkButton" Text="Remove" |
| UniqueName="Remove" CommandName="Remove" ItemStyle-HorizontalAlign="Center" |
| HeaderStyle-Width="60px" /> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <FormTemplate> |
| <asp:Panel ID="codePnl" runat="server" CssClass="row"> |
| <span class="prompt">Code</span> |
| <div class="data"> |
| <asp:TextBox ID="codeTb" runat="server" /> |
| <asp:RequiredFieldValidator ID="codeReqVldtr" runat="server" |
| ControlToValidate="codeTb" /> |
| </div> |
| </asp:Panel> |
| <asp:Panel ID="versionPnl" runat="server" CssClass="row"> |
| <span class="prompt">Version</span> |
| <div class="data"> |
| <asp:TextBox ID="versionTb" runat="server" MaxLength="3" /> |
| <asp:RequiredFieldValidator ID="versionReqVldtr" runat="server" |
| ControlToValidate="versionTb" /> |
| </div> |
| </asp:Panel> |
| </FormTemplate> |
| </EditFormSettings> |
| </MasterTableView> |
| </cym:RadGrid> |