Hi
I dont know If this has been asked before. Did not see the same occurance.
I have a RadGrid that is populated with the NeedDataSource property which gets a list of Items from the Database. These records are all Identical at first except for there ID.
The Grid works with Item GridTemplateColumns and GridBoundColumns.
Most of the Columns have Dropdownboxes for editing.
One of the dropdownboxes calls a Method from Serverside to determine if Input validation on another control must take place.
Here is the problem All the records work perfectly eccept for the 2nd record.
When ever I change the value I can no longer Change the field that is being validated and no postbacks can be preformed because of the validator.
Any Advice wood be great or a posible cause for why only the 2nd record has this problem.
Below is the Grid
Below is the NeedDatasource and OnSelectedChange events
Please I need this urgantly
I dont know If this has been asked before. Did not see the same occurance.
I have a RadGrid that is populated with the NeedDataSource property which gets a list of Items from the Database. These records are all Identical at first except for there ID.
The Grid works with Item GridTemplateColumns and GridBoundColumns.
Most of the Columns have Dropdownboxes for editing.
One of the dropdownboxes calls a Method from Serverside to determine if Input validation on another control must take place.
Here is the problem All the records work perfectly eccept for the 2nd record.
When ever I change the value I can no longer Change the field that is being validated and no postbacks can be preformed because of the validator.
Any Advice wood be great or a posible cause for why only the 2nd record has this problem.
Below is the Grid
<telerik:RadGrid Visible="false" ID="rgBusValidators" runat="server" AutoGenerateEditColumn="True" AlternatingItemStyle-BackColor="white" GridLines="None" GroupingEnabled="False" Width="100%" Height="500px" AutoGenerateColumns="False" onneeddatasource="rgBusValidators_NeedDataSource" onupdatecommand="rgBusValidators_UpdateCommand" oneditcommand="rgBusValidators_EditCommand" onitemcreated="rgBusValidators_ItemCreated" > <AlternatingItemStyle BackColor="White" /> <MasterTableView Caption="Bus Daily Report" DataKeyNames="BusNumber,Depot,Operations,ValNum,ValOp,ValFault,AllocNow,AllocDay1,AllocDay2,ValStat,ServiceNumber" ShowFooter="true"> <Columns> <telerik:GridBoundColumn AllowFiltering="False" AllowSorting="False" DataField="BusDailyReportID" HeaderText="BusDailyReportID" ReadOnly="true" UniqueName="BusDailyReportID" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn AllowFiltering="False" AllowSorting="False" DataField="BusNumber" HeaderText="Bus Number" ReadOnly="true" UniqueName="BusNumber" Visible="true"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Depot reporting to" UniqueName="Depot" > <ItemTemplate> <asp:Label ID="lblDepot" runat="server" Text='<%# Eval("Depot") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="Depot" runat="server" AppendDataBoundItems="False" SelectedValue='<%# Bind("Depot") %>' DataTextField="Depot" DataValueField="Depot" Width="160pt"> <Items> <telerik:RadComboBoxItem Text="Midrand Depot" Value="Midrand Depot" /> <telerik:RadComboBoxItem Text="Pretoria Depot" Value="Pretoria Depot" /> </Items> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="In Operations" UniqueName="Operations" > <ItemTemplate> <asp:Label ID="lblOperations" runat="server" Text='<%# Eval("Operations") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="Operations" runat="server" AppendDataBoundItems="false" SelectedValue='<%# Bind("Operations") %>' DataTextField="Operations" DataValueField="Operations" Width="160pt" OnSelectedIndexChanged="Operations_SelectedIndexChanged" AutoPostBack="True"> <Items> <telerik:RadComboBoxItem Text="Operations" Value="Operations" /> <telerik:RadComboBoxItem Text="Repairs" Value="Repairs" /> <telerik:RadComboBoxItem Text="Service" Value="Service" /> </Items> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Validator Number" UniqueName="ValNum" > <ItemTemplate> <asp:Label ID="lblValNum" runat="server" Text='<%# Eval("ValNum") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="ValNum" runat="server" AppendDataBoundItems="true" SelectedValue='<%# Bind("ValNum") %>' DataSourceID="ValidatorNumbers" DataTextField="ValNum" DataValueField="ValNum" Width="160pt"> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Validator Operational" UniqueName="ValOp" > <ItemTemplate> <asp:Label ID="lblValOp" runat="server" Text='<%# Eval("ValOP") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="ValOp" runat="server" AppendDataBoundItems="False" SelectedValue='<%# Bind("ValOp") %>' DataTextField="ValOp" DataValueField="ValOp" AutoPostBack="true" OnSelectedIndexChanged="ValOp_SelectedIndexChanged" Width="160pt"> <Items> <telerik:RadComboBoxItem Text="Operational" Value="Operational" /> <telerik:RadComboBoxItem Text="Faulty" Value="Faulty" /> <telerik:RadComboBoxItem Text="Not in Operations" Value="Not in Operations" /> </Items> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Validator Fault Type" UniqueName="ValFault" > <ItemTemplate> <asp:Label ID="lblValFault" runat="server" Text='<%# Eval("ValFault") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="ValFault" runat="server" AppendDataBoundItems="False" SelectedValue='<%# Bind("ValFault") %>' DataTextField="ValFault" DataValueField="ValFault" Width="160pt"> <Items> <telerik:RadComboBoxItem Text="Not Applicable" Value="Not Applicable" /> <telerik:RadComboBoxItem Text="Validator freeze and can not scan CSC" Value="Validator freeze and can not scan CSC" /> <telerik:RadComboBoxItem Text="Validator reading ‘out of service’ on display screen" Value="Validator reading ‘out of service’ on display screen" /> <telerik:RadComboBoxItem Text="Validator Completely Off(not switching on)" Value="Validator Completely Off(not switching on)" /> <telerik:RadComboBoxItem Text="Validator reset lock broken" Value="Validator reset lock broken" /> <telerik:RadComboBoxItem Text="Validator screen not working (but still able to scan CSC)" Value="Validator screen not working (but still able to scan CSC)" /> </Items> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Allocation for the day" UniqueName="AllocNow" > <ItemTemplate> <asp:Label ID="lblAllocNow" runat="server" Text='<%# Eval("AllocNow") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="AllocNow" runat="server" AppendDataBoundItems="true" SelectedValue='<%# Bind("AllocNow") %>' DataSourceID="dsStations" DataTextField="Description" DataValueField="Description" Width="160pt"> <Items> <telerik:RadComboBoxItem Text="Midrand Depot" Value="Midrand Depot" /> <telerik:RadComboBoxItem Text="Pretoria Depot" Value="Pretoria Depot" /> </Items> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Allocation Day -1" UniqueName="AllocDay1" > <ItemTemplate> <asp:Label ID="lblAllocDay1" runat="server" Text='<%# Eval("AllocDay1") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:Label ID="AllocDay1" runat="server" Text='<%# Eval("AllocDay1") %>'></asp:Label> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Allocation Day -2" UniqueName="AllocDay2" > <ItemTemplate> <asp:Label ID="lblAllocDay2" runat="server" Text='<%# Eval("AllocDay2") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:Label ID="AllocDay2" runat="server" Text='<%# Eval("AllocDay2") %>'></asp:Label> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Validator Equipment Status" UniqueName="ValStat" > <ItemTemplate> <asp:Label ID="lblValStat" runat="server" Text='<%# Eval("ValStat") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="ValStat" runat="server" AppendDataBoundItems="False" SelectedValue='<%# Bind("ValStat") %>' DataTextField="ValStat" DataValueField="ValStat" Width="160pt"> <Items> <telerik:RadComboBoxItem Text="Green" Value="Green" /> <telerik:RadComboBoxItem Text="Orange" Value="Orange" /> <telerik:RadComboBoxItem Text="Red" Value="Red" /> <telerik:RadComboBoxItem Text="Black" Value="Black" /> </Items> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn AllowFiltering="False" HeaderText="Service Request Number" UniqueName="ServiceNumber" > <ItemTemplate> <asp:Label ID="lblServiceNumber" runat="server" Text='<%# Eval("ServiceNumber") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadTextBox ID="ServiceNumber" Text='<%# Eval("ServiceNumber") %>' Runat="server" MaxLength="10" > </telerik:RadTextBox> <asp:RequiredFieldValidator ID="SerNumValidator" runat="server" ErrorMessage="*" ControlToValidate="ValOp"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="exValidator" runat="server" ErrorMessage="* Service Number Is Not Complete" ControlToValidate="ServiceNumber" ValidationExpression=".{10}.*"></asp:RegularExpressionValidator> </EditItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid>Below is the NeedDatasource and OnSelectedChange events
protected void rgBusValidators_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { rgBusValidators.DataSource = BusList; } protected void ValOp_SelectedIndexChanged(object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e) { try { GridEditableItem gRow = ((sender as RadComboBox).NamingContainer as GridEditableItem); RequiredFieldValidator snreq = ((RequiredFieldValidator)gRow["ServiceNumber"].FindControl("SerNumValidator")); if (e.Text == "Faulty") { RadTextBox sntxt = ((RadTextBox)gRow["ServiceNumber"].FindControl("ServiceNumber")); snreq.ControlToValidate = sntxt.ID; snreq.IsValid = false; } else { RadComboBox item = (RadComboBox)(sender); snreq.ControlToValidate = item.ID; snreq.IsValid = true; } } catch (Exception ex) { lblError.Text = string.Format("Error: {0}", ex.Message); Log.Write(string.Format("Error Loading Data : {0}", ex.ToString()), Log.Category.IncidentManagementWeb, System.Diagnostics.TraceEventType.Error); } }Please I need this urgantly