WPF Datagrid ComboboxColumn selection issue

Pratham Jain 311 Reputation points
2025-04-19T23:34:54.98+00:00

Hi All,

I have a WPF application in which I have a datagrid control which is used to display employee records. The last row of this datagrid is used to add new record on pressing “Enter” Key.

<DataGrid Grid.Row="2" Name="dtGrdEmployee" HorizontalAlignment="Right" AutoGenerateColumns="False" ItemsSource="{Binding Path= ListEmployee}" CanUserDeleteRows="False" MinHeight="50" Margin="10,10,5,5" Width="500" HorizontalGridLinesBrush="LightGray" VerticalGridLinesBrush="LightGray" Loaded="DataGrid_Loaded" CellEditEnding=" dtGrdEmployee _CellEditEnding" PreviewKeyDown="DataGrid_PreviewKeyDown">
                  <DataGrid.RowValidationRules>
                      <local:DataRowValidation ValidationStep="UpdatedValue"></local:DataRowValidation>
                  </DataGrid.RowValidationRules>
                  <DataGrid.Columns>
                      <DataGridComboBoxColumn x:Name="cmbEmployee" Header="Employee Name" DisplayMemberPath="Name" SelectedValuePath="ID" SelectedValueBinding="{Binding Path= EmployeeID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></DataGridComboBoxColumn>
                      <DataGridTextColumn Header="Column 2" ElementStyle="{StaticResource CellTextRightAlign}" HeaderStyle="{StaticResource HeaderContentRightAlign}">
                          <DataGridTextColumn.Binding>
                              <Binding Path="Column2" Mode="TwoWay" StringFormat="{}{0:n2}">
                                  <Binding.ValidationRules>
                                      <local:DataRowValidation ValidationStep="UpdatedValue"></local:DataRowValidation>
                                  </Binding.ValidationRules>
                              </Binding>
                          </DataGridTextColumn.Binding>
                      </DataGridTextColumn>
                      <DataGridTextColumn IsReadOnly="True" Binding="{Binding Path= EmployeeID, Converter={StaticResource EmployeeConverter} }"></DataGridTextColumn>
                      <DataGridTextColumn Header="Column 4" IsReadOnly="True" ElementStyle="{StaticResource CellTextRightAlign}" HeaderStyle="{StaticResource HeaderContentRightAlign}">
                          <DataGridTextColumn.Binding>
                              <Binding Path="Column4" Mode="TwoWay" StringFormat="{}{0:n2}">
                                  <Binding.ValidationRules>
                                      <local:DataRowValidation ValidationStep="UpdatedValue"></local:DataRowValidation>
                                  </Binding.ValidationRules>
                              </Binding>
                          </DataGridTextColumn.Binding>
                      </DataGridTextColumn>
                      <DataGridTextColumn Header="Comments">
                          <DataGridTextColumn.Binding>
                              <Binding Path="Comments">
                                  <Binding.ValidationRules>
                                      <local:DataRowValidation ValidationStep="UpdatedValue"></local:DataRowValidation>
                                  </Binding.ValidationRules>
                              </Binding>
                          </DataGridTextColumn.Binding>
                      </DataGridTextColumn>
                  </DataGrid.Columns>              </DataGrid>

Based on selection/value in first(combobox) column, it will check the EmployeeType column in SQL Server database table and if EmployeeType = 1 then “Column 2” will be editable with “Column 4” non-editable/readonly.  If EmployeeType = 2 then “Column 4” will be editable with “Column 2” non-editable/readonly.
 
Please suggest how can I achieve the same ASAP.
Regards,
Pratham
Developer technologies | XAML
Developer technologies | XAML
A language based on Extensible Markup Language (XML) that enables developers to specify a hierarchy of objects with a set of properties and logic.
{count} votes

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.