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

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 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果