0

我正在寻找关于可能发生的事情的基本想法。我已将数据绑定到在我的本地工作正常的 DataGrid。但有时,在开发测试服务器上,数据不会显示在我制作的网格中。其他人工作正常。在某些机器上,这些网格可以正常工作。有所有属于的行,数据在下面供所有内容使用,但它只是不可见。在绑定到 20 个对象的网格中,将有 20 个完全空白的行,我可以单击它们并使用 SelectedItem 属性从中获取值。

我已经尝试过多次清除缓存。将 ItemsSource 属性重置为 null 然后是基础数据,并在网格上调用 Refresh()。因此,任何关于为什么绑定数据的想法都可能会创建一行但没有任何可见的东西。

下面是其中一个网格的示例。此网格在构造函数中设置了第一列并且未绑定。顶部在服务器上,底部来自我的本地主机。

同一网格的基于服务器和本地版本

下面是图片中网格的 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>

编辑:一旦我弄清楚了,我会更新一个答案,但是好奇男孩的评论让我走上了正确的轨道。它似乎是网格绑定的对象。描述原始问题的另一种方式是,就像网格中的列在某些机器上绑定到错误的列名一样。我找到了一种非常相似的工作方式,因此我试图找出导致此问题的实际差异。

4

0 回答 0