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