首页 > 解决方案 > 如何自动调整数据表列的大小

问题描述

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

 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#wpfdatasetdatacolumn

解决方案


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

  dtAlarm.Columns[0].Width = 80;

推荐阅读