如何删除额外的列Datagrid

 creator 发布于 2023-02-08 11:23

我已将itemsource绑定到Datatable for Datagrid.它显示了如何删除它的额外列

我的代码:


它显示额外的列如何删除它?

截屏: 在此输入图像描述

3 个回答
  • 您可以将Horizo​​ntalAlignment设置为Left.如上所述这里

    例如:

    <DataGrid ItemsSource="{Binding}" HorizontalAlignment="Left"/>
    

    2023-02-08 11:25 回答
  • 解决方案1:

    为所有列设置AutoGenerateColumns ="False"和Width ="*"

     <DataGrid x:Name="dataGrid" IsReadOnly="True" AutoGenerateColumns="False">
        <DataGrid.Columns>
           <DataGridTextColumn Binding="{Binding OrderId}" Header="OrderId" />
           <DataGridTextColumn Binding="{Binding ProductId}"  Header="ProductId"/>
           <DataGridTextColumn Binding="{Binding UnitPrice}"  Header="UnitPrice"/>
           <DataGridTextColumn Binding="{Binding Quantity}"  Header="Quantity"/>
           <DataGridTextColumn Binding="{Binding Discount}" Header="Discount"
                               />
        </DataGrid.Columns>
    </DataGrid>
    

    解决方案2: 您可以这样设置以满足您的要求

    <DataGrid HorizontalAlignment="Left" Margin="50,0,0,0" 
              Name="dataGrid"  IsReadOnly="True"  VerticalAlignment="Top"
              ItemsSource="{Binding Cus}" AutoGenerateColumns="True"/>
    
    
     this.dataGrid.AutoGeneratingColumn += dataGrid_AutoGeneratingColumn;
    
     void dataGrid_AutoGeneratingColumn(object sender, 
                                        DataGridAutoGeneratingColumnEventArgs e)
     {
         e.Column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
     }
    

    2023-02-08 11:25 回答
  • 要避免的一种方法是设置AutoGenerateColumnsFalse(仅限XAML方法).

    提供自己列的和收集set width for last column*.

    <DataGrid x:Name="dataGrid" IsReadOnly="True" AutoGenerateColumns="False">
        <DataGrid.Columns>
           <DataGridTextColumn Binding="{Binding OrderId}" Header="OrderId"/>
           <DataGridTextColumn Binding="{Binding ProductId}" Header="ProductId"/>
           <DataGridTextColumn Binding="{Binding UnitPrice}" Header="UnitPrice"/>
           <DataGridTextColumn Binding="{Binding Quantity}" Header="Quantity"/>
           <DataGridTextColumn Binding="{Binding Discount}" Header="Discount"
                               />
        </DataGrid.Columns>
    </DataGrid>
    

    将列的绑定替换为模型类中的相应属性.输出将是这样的:

    在此输入图像描述

    但是,如果要为所有列平均分配可用空间.你可以set width to * for all columns.输出将是这样的:

    在此输入图像描述

    2023-02-08 11:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有