For some strange reason, the gridview edit mode for a column that is string binded, accepts only numeric values. What could be wrong
| <telerik:RadGridView Name="rgvSiteDetails" Margin="10,10,10,10" Height="340" RowIndicatorVisibility="Collapsed" |
| ShowGroupPanel="False" AutoGenerateColumns="False" Visibility="Visible" Background="Transparent" |
| AutoGenerateHierarchyFromDataSet="False" BorderBrush="LightGray" CanUserFreezeColumns="False" CanUserInsertRows="False" |
| HorizontalContentAlignment="Stretch" ShowColumnHeaders="True" IsFilteringAllowed="False" |
| VerticalGridlinesBrush="LightGray" > |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewDataColumn UniqueName="IsSelected" DataMemberBinding="{Binding IsSelected}" Header="" Width="30" /> |
| <telerik:GridViewDataColumn UniqueName="SiteSequence" Header="" Width="30" DataMemberBinding="{Binding SiteSequence}" /> |
| <telerik:GridViewDataColumn UniqueName="SiteName" Header="SiteName" DataMemberBinding="{Binding SiteName}" Width="120" /> |
| <telerik:GridViewDataColumn UniqueName="SiteShortName" Header="SiteShortName" DataMemberBinding="{Binding SiteShortName}" Width="120"/> |
| <telerik:GridViewDataColumn IsReadOnly="True" UniqueName="ReceivedDate" IsVisible="True" Header="Received Date" Width="80" DataMemberBinding="{Binding ReceivedDate}" /> |
| <telerik:GridViewDataColumn IsReadOnly="True" UniqueName="PatientLastName" Header="Patient Last Name" IsVisible="True" Width="120" DataMemberBinding="{Binding PatientLastName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcCassetteId" UniqueName="CassetteID" IsVisible="False" Header="Cassette Id" Width="80" DataMemberBinding="{Binding CassetteID}" /> |
| <telerik:GridViewDataColumn x:Name="gdcSlideId" UniqueName="DisplayName" Header="Display Name" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcDisplayName" UniqueName="DisplayName" Header="Display Name" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcProcedureName" UniqueName="ProcedureName" Header="Procedure Name" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcLevelInfo" UniqueName="LevelInfo" Header="Level Info" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcmagazineid" UniqueName="magazineid" IsVisible="False" Header="Magazine Id" DataMemberBinding="{Binding magazineid}" /> |
| <telerik:GridViewDataColumn x:Name="gdcbin" UniqueName="bin" Header="Exit Bin" IsVisible="False" DataMemberBinding="{Binding bin}" /> |
| </telerik:RadGridView.Columns> |
| </telerik:RadGridView> |
| private void rgvSiteDetails_CurrentCellChanged(object sender, GridViewCurrentCellChangedEventArgs e) |
| { |
| this.rgvSiteDetails.BeginEdit(); |
| } |
| SharedData.lstSelectedCaseData = new ObservableCollection<SharedData.SelectedCaseData>(); |
| rgvSiteDetails.DataLoaded += new EventHandler<EventArgs>(rgvSiteDetails_DataLoaded); |
| foreach (CaseDataCase item in SharedData.objCurrent.Items) |
| { |
| if (item.Specimen != null) |
| foreach (CaseDataCaseSpecimen item2 in item.Specimen) |
| { |
| SharedData.SelectedCaseData a = new SharedData.SelectedCaseData(); |
| a.CaseId = item.CaseId; |
| a.AccessionNumber = item.AccessionNumber; |
| a.ReceivedDate = item.ReceivedDate; |
| a.PatientLastName = item.Patient[0].PatientLastName; |
| a.IsSelected = true; |
| a.SiteName = item2.SiteName; |
| a.SiteSequence = item2.SiteSequence; |
| a.SiteShortName = item2.SiteShortName; |
| a.SiteID = item2.SiteID; |
| SharedData.lstSelectedCaseData.Add(a); |
| } |
| } |
| rgvSiteDetails.ItemsSource = SharedData.lstSelectedCaseData; |
| void rgvSiteDetails_DataLoaded(object sender, EventArgs e) |
| { |
| try |
| { |
| SharedData.Log.Info("Entering rgvSiteDetails_DataLoaded"); |
| rgvSiteDetails.ExpandAllGroups(); |
| SharedData.Log.Info("Exiting rgvSiteDetails_DataLoaded"); |
| } |
| catch (Exception ex) |
| { |
| SharedMethods.HandleExceptions(ex); |
| } |
| } |
| <telerik:RadTabItem.Content> |
| <telerik:RadTreeView Name="TreeViewCategories" SelectionMode="Extended" |
| IsLineEnabled="True" ItemsOptionListType="CheckList" IsOptionElementsEnabled="True" |
| IsRootLinesEnabled="True" IsTriStateMode="True" > |
| <telerik:RadTreeView.ItemTemplate> |
| <HierarchicalDataTemplate ItemsSource="{Binding Path=ChildCategories, Mode=TwoWay}"> |
| <StackPanel> |
| <TextBlock Text="{Binding Name}" Name="textblockName"></TextBlock> |
| </StackPanel> |
| </HierarchicalDataTemplate> |
| </telerik:RadTreeView.ItemTemplate> |
| </telerik:RadTreeView> |
| </telerik:RadTabItem.Content> |
| void ItemContainerGenerator_StatusChanged(object sender, EventArgs e) |
| { |
| if ((sender as RadTreeView).ItemContainerGenerator.Status == System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated) |
| { |
| foreach (RadTreeViewItem item in TreeViewCategories.Items) |
| { |
| item.CheckState = System.Windows.Automation.ToggleState.On; |
| } |
| } |
| } |
Hello everybody.
I have a RadGridView whith three column teo of whic are displayed and edited using cell templates with a radComboBox and a TextBox
The following is the XAML code
<telerik:RadGridView x:Name="radGridDiscounts" HorizontalAlignment="Left" Height="150" Width ="500" AutoGenerateColumns="False" ShowGroupPanel="False" MultipleSelect="False" ColumnsWidthMode="Fill" ItemsSource="">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Descrizione" HeaderTextAlignment="Center" Width="200"
DataMemberBinding="{Binding Description}" IsReadOnly="True" IsFilterable="False" />
<telerik:GridViewDataColumn Header="Tipologia sconto" HeaderTextAlignment="Center" Width="120" IsFilterable="False">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<telerik:RadComboBox x:Name="radComboOperations"
SelectionChanged="radComboOperations_SelectionChanged Loaded="radComboOperations_Loaded"
DisplayMemberPath="Description" SelectedValuePath="Id"/>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn Header="Valore" HeaderTextAlignment="Center" Width="75" IsFilterable="False" IsSortable="False"
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox x:Name="textBoxValue" TextChanged="textBoxValue_TextChanged" Loaded="textBoxValue_Loaded"/>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
So for every record displayed in the radGridView, "radComboOperations" is a radcombobox displayed in one cell template and "textBoxValue" is a textBox of the other cell template.
During the "_Loaded" operations of both controls I initialize properly the values must be displayed.
And there is no problem at all until now.
What do I have to do is to change Text or IsEnabled properties of "textBoxValue" of the corresponding Item ot the radGirdView, when a radComboOperations_SelectionChanged event of "radComboOperations" is raised.
The following is my function for the event
private void radComboOperations_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
RadComboBox comboBox = (RadComboBox)sender;
if (comboBox!=null)
{
MyDTO dto = (MyDTO)comboBox.DataContext;
MyOperation Operation = (MyOperation)comboBox.SelectedItem;
if (Operation.Id == Guid.Empty)
{
//need help here where
//I have to disable the textBoxValue of the corresponding item of the radGridView
//where and how can I find the textBoxValue text box of the cell template??
}
}
}
I will thank a lot everyone may help me!!
Bye everybody
Nick

