【问题标题】:How to auto resize Datatable column如何自动调整数据表列的大小
【发布时间】:2020-02-01 09:56:08
【问题描述】:

在我们的项目中,我们在运行时动态创建一个数据表,其中包含如下几列

 public DataSet LoadAlarmGrid(int Number, bool nodata)
    {
        DataSet dsAlarm = new DataSet();
        DataTable dtAlarm = new DataTable();
        dsAlarm.Tables.Add(dtAlarm);
        dtAlarm.Columns.Add(Properties.Resources.InstName, typeof(string));
        dtAlarm.Columns.Add(Properties.Resources.PinName, typeof(string));
        dtAlarm.Columns.Add(Properties.Resources.DataEnable, typeof(bool));
        dtAlarm.Columns.Add(Properties.Resources.DataAlarmCode, typeof(int));
        dtAlarm.Columns.Add(Properties.Resources.DataAlarmType, typeof(string));
        dtAlarm.Columns.Add(Properties.Resources.DataBehavior, typeof(ALARMSVCLib.tlAlarmBehavior));
        dtAlarm.Columns.Add(Properties.Resources.AlarmDataRealTime, typeof(bool));
        dtAlarm.Columns.Add(Properties.Resources.AlarmDataLatched, typeof(bool));
       <other codes>
    }

最后,显示将有 8 列。假设列名为“仪器”。在加载过程中没有问题,所有列都适合大小。如果用户手动缩小列。现在该列仅显示“Inst”,现在用户双击该列以自动调整大小。但是什么也没发生。

所以目的是,当双击数据表列时,它应该自动调整大小。

【问题讨论】:

    标签: c# wpf dataset datacolumn


    【解决方案1】:

    以下代码解决了我的问题,

                private void grdAlarmData_Resizecolumns(object sender, GridResizingColumnsEventArgs args)
                {            
                    if(args.Reason == GridResizeCellsReason.DoubleClick)
                    {               
                        GridRangeInfo grid = args.Columns;
                        grdAlarmData.Model.ResizeColumnsToFit(GridRangeInfo.Col(grid.Left), GridResizeToFitOptions.IncludeHeaders);              
                    }
                }
    

    【讨论】:

      【解决方案2】:

      您可以尝试在dsAlarm.Tables.Add(dtAlarm);之后添加以下代码

        dtAlarm.Columns[0].Width = 80;
      

      【讨论】:

        【解决方案3】:

        我认为您想调整 DataGridView 的大小。
        您可以找到 DataGridView here 的大小调整选项。

        在用户调整大小模式下,用户可以通过拖动或双击行、列或标题分隔符来调整大小。

        【讨论】:

          猜你喜欢
          • 2018-10-04
          • 2023-03-09
          • 1970-01-01
          • 2015-10-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多