zj199719 2022-06-02 15:39 采纳率: 58.3%
浏览 77
已结题

dxg:GridControl 在WPF中显示格式问题,

问题遇到的现象和发生背景

想要达到的效果就是 根据红框的名字 形成左侧的序号 当名称在两个以上的时候 只显示一个序号

img

问题相关代码,请勿粘贴截图
                        <dxg:GridControl ShowBorder="False" x:Name="grid"  HorizontalAlignment="Center"
                             SelectionMode="None"  Margin="10,0,13,0"
                         ScrollViewer.VerticalScrollBarVisibility="Hidden"   
                             SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
                             Grid.Row="1" Height="350"
                         ScrollViewer.HorizontalScrollBarVisibility="Hidden">
                            <dxg:GridColumn Header="序号" Width="2*"  HorizontalHeaderContentAlignment="Center" Binding="{Binding Id}" FieldName="">

                                <dxg:GridColumn.EditSettings>
                                    <dxe:TextEditSettings HorizontalContentAlignment="Center"/>
                                </dxg:GridColumn.EditSettings>
                                <!--dxg:GridColumn.CellTemplate>
                                    <DataTemplate>
                                        <CheckBox x:Name="checkBoxCol" Style="{DynamicResource CheckBoxStyle}" 
                                               IsChecked="{Binding RowData.Row.IsValid, Mode=TwoWay}" 
                                              VerticalAlignment="Center" HorizontalAlignment="Center"/>
                                    </DataTemplate>
                                </dxg:GridColumn.CellTemplate-->
                            </dxg:GridColumn>

                            <dxg:GridColumn Header="质控组合名称" Width="2*" HorizontalHeaderContentAlignment="Center" Binding="{Binding Name}" FieldName="">
                                <dxg:GridColumn.EditSettings>
                                    <dxe:TextEditSettings HorizontalContentAlignment="Center"/>
                                </dxg:GridColumn.EditSettings>
                            </dxg:GridColumn>

                            <dxg:GridColumn Header="项目简称" Width="2*" HorizontalHeaderContentAlignment="Center" Binding="{Binding TestName}" FieldName="">
                                <dxg:GridColumn.EditSettings>
                                    <dxe:TextEditSettings HorizontalContentAlignment="Center"/>
                                </dxg:GridColumn.EditSettings>
                            </dxg:GridColumn>

                            <dxg:GridControl.View >
                                <dxg:TableView x:Name="gridData"   HorizontalContentAlignment="Center"             
                                   ShowGroupPanel="False"  IndicatorWidth="40" AllowEditing="False"
                                   Background="#d9d9d9" AlternateRowBackground="#ededed" BorderBrush="White" >
                                    <dxg:TableView.ColumnHeaderStyle>
                                        <Style TargetType="{x:Type dxg:BaseGridColumnHeader}"  >
                                            <Setter Property="Height" Value="40"  />
                                            <Setter Property="Background" Value="#d9d9d9" />
                                            <Setter Property="BorderBrush" Value="White"/>
                                            <Setter Property="FontSize" Value="14"/>
                                            <Setter Property="HorizontalContentAlignment" Value="Center"/>
                                        </Style>
                                    </dxg:TableView.ColumnHeaderStyle>
                                    <dxg:TableView.RowStyle>
                                        <Style TargetType="{x:Type dxg:RowControl}">
                                            <Setter Property="HorizontalAlignment" Value="Center"/>
                                            <Setter Property="HorizontalContentAlignment" Value="Center"/>
                                            <Setter Property="Background" Value="#f7f7f7"/>
                                            <Setter Property="BorderBrush" Value="White"/>
                                            <Setter Property="Height" Value="36"/>
                                            <Style.Triggers>
                                                <Trigger Property="dxg:DataViewBase.IsFocusedRow" Value="True">
                                                    <Setter Property="Background" Value ="#d9f3fc"/>
                                                    <Setter Property="BorderBrush" Value="#00afec"/>
                                                </Trigger>
                                            </Style.Triggers>

                                        </Style>
                                    </dxg:TableView.RowStyle>
                                </dxg:TableView>
                            </dxg:GridControl.View>
                        </dxg:GridControl>


                    </Grid>
运行结果及报错内容
我的解答思路和尝试过的方法

//数据库

img

//数据库查询代码
public static List GetQCCombinationGrid()
{
string sql =
$"select * " +
$"FROM ZYB_QC_PROFILE " +
$"order by QC_NAME";

        DataTable dt = FirebirdHelper.ExecuteDataTable(sql);
        if (dt == null || dt.Rows.Count <= 0) return null;
        var list = new List<QcCombinationButtonInfo>();
        foreach (DataRow row in dt.Rows)
        {


            list.Add(new QcCombinationButtonInfo
            {

                Id = int.TryParse(row[0].ToString(), out int v1) ? (int?)v1 : null,
                Name = row[1]?.ToString(),
                TestName = row[3]?.ToString(),

            });

        }
        return list;
    }

//获取数据库 数据后绑定WPF代码
public ObservableCollection GetItemInfo { get; set; }
private void GetGrid()
{
var entrys = QcCombinationButtonService.GetQCCombinationGrid();
if (entrys == null)
{
grid.ItemsSource = null;
return;
}
this.GetItemInfo = new ObservableCollection(entrys);
this.grid.ItemsSource = this.GetItemInfo;

    }
我想要达到的结果

img

  • 写回答

1条回答 默认 最新

  • 歇歇 2022-06-09 03:48
    关注

    你处理数据源,用个循环判断一下,修改一下,然后在把数据源传递给控件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 赞助了问题酬金10元 6月7日
  • 创建了问题 6月2日

悬赏问题

  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境