0

何が起こっているのかについての基本的なアイデアを探しています。ローカルで正常に動作する DataGrid にデータをバインドしました。ただし、開発テスト サーバーでは、作成したグリッドにデータが表示されないことがあります。他は正常に動作します。一部のマシンでは、これらのグリッドが正常に機能します。所属するすべての行があり、データはすべてで使用するためにその下にありますが、表示されていません。20 個のオブジェクトにバインドされたグリッドのように、20 個の完全に空白の行があり、クリックして SelectedItem プロパティを使用して値を取得できます。

何度もキャッシュをクリアしようとしました。ItemsSource プロパティを null にリセットしてから基になるデータをリセットし、グリッドで Refresh() を呼び出します。したがって、バインドされたデータが行を作成しても、何も表示されない理由についてのアイデアはありません。

以下は、グリッドの 1 つの例です。このグリッドには、コンストラクターで設定された最初の列があり、バインドされていません。上がサーバー上で、下がローカル ホストからのものです。

同じグリッドのサーバー ベースおよびローカル バージョン

以下は、図のグリッドの XAML コードです。バインド先のオブジェクトは、AccountTypeGridClass というクラスのリストです。すべてのプロパティは、取得と設定の両方が実装されたパブリック文字列であり、プロパティ変更イベントがスローされます。それが使われていないのに。

<af:GroupHeader x:Name="AccountTypeHeader" Header="Account Type" Grid.Row="0" Margin="5" >
        <dataGrid:DataGridBase HorizontalAlignment="Left" x:Name="AccountTypeGrid" GridLinesVisibility="None"
                               RowBackground="White" 
                               HorizontalScrollBarVisibility="Hidden" HeadersVisibility="Column"
                               CanUserAddRows="False" CanUserResizeRows="False"
                               SelectionMode="SingleRow" >

            <c1:C1DataGrid.Columns>

                <c1:DataGridTemplateColumn Header="Type" Name="TypeColumn" Width="100">
                    <c1:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock VerticalAlignment="Center" Margin="3, 0, 0, 0" Text="Account Type" af:AutoToolTip.Active="True"  />
                        </DataTemplate>
                    </c1:DataGridTemplateColumn.CellTemplate>
                </c1:DataGridTemplateColumn>

                <c1:DataGridTemplateColumn Header="Code" Name="AccountTypeCodeColumn" Width="100">
                    <c1:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock VerticalAlignment="Center" Margin="3, 0, 0, 0" Text="{Binding AccountTypeCode}" af:AutoToolTip.Active="True" />
                        </DataTemplate>
                    </c1:DataGridTemplateColumn.CellTemplate>
                </c1:DataGridTemplateColumn>

                <c1:DataGridTemplateColumn Header="Code Description" Name="AccountTypeCodeDescriptionColumn" Width="200">
                    <c1:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock VerticalAlignment="Center" Margin="3, 0, 0, 0" Text="{Binding AccountTypeCodeDescription}" af:AutoToolTip.Active="True" />
                        </DataTemplate>
                    </c1:DataGridTemplateColumn.CellTemplate>
                </c1:DataGridTemplateColumn>

            </c1:C1DataGrid.Columns>

        </dataGrid:DataGridBase>
    </af:GroupHeader>

編集:答えがわかったら答えを更新しますが、curiousBoyによるコメントは私を正しい軌道に乗せました。グリッドがバインドされているオブジェクトのようです。元の問題を説明する別の方法は、一部のマシンでグリッド内の列が間違った列名にバインドされているようなものです。非常によく似た方法を見つけたので、この問題の原因となった実際の違いを理解しようとしています。

4

0 に答える 0