Datagridview组合框选择的项目在滚动时更改

时间:2015-05-09 07:51:55

标签: c# wpf datagridview

我有一个数据网格,每行都有多个值的组合框。我在一行中选择一个组合框值然后在选择5-6行组合框值之前选择的值,即第一或第二行组合框值自动更改...

告诉我你的代码,而不是检查它,看看可能是什么问题。

来源: -

 <DataGrid Foreground="Transparent" Background="Transparent" x:Name="dgvbat1" ItemsSource="{Binding}" Padding="12" HorizontalAlignment="Left" Margin="220.687,36,0,0" VerticalAlignment="Top" Height="230" Width="888" BorderBrush="Black" BorderThickness="1" Grid.Column="2" AutoGenerateColumns="False" IsReadOnly="False">
                    <DataGrid.Columns>
                        <DataGridTextColumn  Header="SLNO" Binding="{Binding Path=SLNO}" />
                        <DataGridTextColumn Header="Name Of Players" Binding="{Binding Path=Name Of Players}"/>
                        <DataGridTextColumn Header="KSCA UID" Binding="{Binding Path=KSCA UID}" />
                        <DataGridTemplateColumn  Header="Dismissal">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>

                                    <ComboBox Name="DismissalA" SelectionChanged="DismissalA_SelectionChanged" >
                                        <ComboBoxItem>Caught</ComboBoxItem>
                                        <ComboBoxItem>Bowled</ComboBoxItem>
                                        <ComboBoxItem>LBW</ComboBoxItem>
                                        <ComboBoxItem>Run Out</ComboBoxItem>
                                        <ComboBoxItem>CAUGHT AND BOWLED</ComboBoxItem>
                                        <ComboBoxItem>DNB</ComboBoxItem>
                                        <ComboBoxItem>Stumped</ComboBoxItem>
                                        <ComboBoxItem>Hit Wicket</ComboBoxItem>
                                        <ComboBoxItem>Handled The Ball</ComboBoxItem>
                                        <ComboBoxItem>Timed Out</ComboBoxItem>
                                        <ComboBoxItem>ObstructingTheField</ComboBoxItem>
                                        <ComboBoxItem>Not Out</ComboBoxItem>
                                    </ComboBox>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

                        <DataGridTextColumn Header="Runs" Binding="{Binding Path=Runs}" />
                        <DataGridTextColumn Header="Mins" Binding="{Binding Path=Mins}" />
                        <DataGridTextColumn Header="Balls" Binding="{Binding Path=Balls}"/>
                        <DataGridTextColumn Header="Fours" Binding="{Binding Path=Fours}"/>
                        <DataGridTextColumn Header="Sixes" Binding="{Binding Path=Sixes}"/>

                    </DataGrid.Columns>
                </DataGrid>

代码: -

public void DismissalA_SelectionChanged(object sender, SelectionChangedEventArgs e)

{
            dismissalvaluesA.indexA = dgvbat1.SelectedIndex;
            dismissalvaluesA.dismissaltypeA[dismissalvaluesA.indexA] = (e.AddedItems[0] as ComboBoxItem).Content as string;

}

1 个答案:

答案 0 :(得分:0)

一切都取决于你的选择改变事件。所以我很抱歉,但我必须看到那段代码。可能在您的代码中会出现激活其他组合框中的更改的内容。

另一种解决方案是用C#代码填写组合框,这是我一直工作的方式。