Dev gridView中设置自适应列宽和日期显示格式、金额的显示格式

在Dev GridView控件中,数据库中表数据日期都是长日期格式(yyyy-MM-dd HH:mm:ss),但显示在控件变成短日期格式(yyyy-MM-dd),金额显示要显示精确的数值,

比如80.00,90.15等,但在 dev gridView中只是显示80,90

1、解决日期显示问题的代码: 设置日期的displayformat,editFormat,EditMask


        /// <summary>
        /// 设置时间显示格式
        /// </summary>
        /// <param name="dateEdit">日期时间的父类,就是日期控件</param>
        public static void SetDateTime(DateEdit dateEdit)
        {
            dateEdit.Properties.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm";
            dateEdit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
            dateEdit.Properties.EditFormat.FormatString = "yyyy-MM-dd HH:mm";
            dateEdit.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
            dateEdit.Properties.Mask.EditMask = "yyyy-MM-dd HH:mm";  
        
        }

2、解决金额显示精确问题

 /// <summary>
        /// 设置价格的显示格式
        /// </summary>
        /// <param name="spinEdit"></param>
        public static void SetMoney(AokaSpinEdit spinEdit)
        {
            spinEdit.Properties.DisplayFormat.FormatString = "{0:N2}";
            spinEdit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
            spinEdit.Properties.EditFormat.FormatString = "{0:N2}";
            spinEdit.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
        }

上面是在明细中,调用控件的名称,设置在初始化类,比如 Hepper.SetDateTime(startDate);

 

3.解决列表显示时日期和金额的问题

/// <summary>
        /// 设置列表数据的日期格式
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
        {
           
            if (e.Column.FieldName == "创建日期" || e.Column.FieldName == "创建时间" || e.Column.FieldName == "StartDate" || e.Column.FieldName == "EndDate" || e.Column.FieldName == "发货时间" || e.Column.FieldName == "发生时间" || e.Column.FieldName == "制单日期" || e.Column.FieldName == "单据日期" || e.Column.FieldName == "BillDate")
            {
                e.Column.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
            }         
           
        }
        /// <summary>
        /// 设置列表数据中价格的格式
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void gridView1_RowCellStyle1(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
        {
            if (e.Column.FieldName == "价格元" || e.Column.FieldName == "Price" || e.Column.FieldName == "Money" || e.Column.FieldName == "应付款" || e.Column.FieldName == "应收款" || e.Column.FieldName == "单价" || e.Column.FieldName == "金额" || e.Column.FieldName == "总金额" || e.Column.FieldName == "合计金额")
            {
                e.Column.DisplayFormat.FormatString = "{0:N2}";
                e.Column.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
            }
        }

在窗体下,是这样的调用的

      //列表日期显示格式
            this.gridView_List.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(Heppler.gridView1_RowCellStyle);
            //列表价格显示格式
            this.gridView_List.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(Heppler.gridView1_RowCellStyle1);

4、设置列表数据状态的显示颜色

 /// <summary>
        /// 设置状态的颜色样式
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void gridView1_RowCellStyle2(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
        {
            if (e.Column.FieldName == "单据状态") {
                if (e.CellValue != null && e.CellValue.ToString() == "已完成") {
                    e.Appearance.BackColor = Color.Green;
                }
            }
            if (e.Column.FieldName == "结算状态")
            {
                if (e.CellValue != null && e.CellValue.ToString() == "已结算")
                {
                    e.Appearance.BackColor = Color.Red;
                }
            }
        }

在窗体下,是这样的调用的

      //列表日期显示格式
            this.gridView_List.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(Heppler.gridView1_RowCellStyle2);

5、设置dev gridView中自动列宽适应的属性

 gridView_List.OptionsView.ColumnAutoWidth = false;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在GridView,可以通过设置列宽来控制每个列的大小和排列。要设置GridView列宽,可以使用GridView的columns属性。 首先,在XML布局文件,定义GridView控件,并给它设置一个唯一的ID,如"myGridView"。接着,在Activity,找到该GridView控件,并给它设置Adapter。 然后,在代码,实例化一个GridView对象,通过findViewById方法找到GridView的ID。接着,创建一个Adapter对象,并将其设置GridView的Adapter。最后,通过GridView的columns属性,设定每个列的宽度。 如需设置列宽,可在布局文件的GridView节点,添加以下属性: android:stretchMode="none" // 默认为列宽平均分配,设置为none后才能调整列宽 然后,在Activity的Java代码,可以使用GridView的setColumnWidth方法来调整列宽。该方法接受一个整数值作为参数,表示列的宽度,单位为像素。例如,若要将第一列的宽度设置为100像素,则可以通过以下代码实现: myGridView.setColumnWidth(0, 100); 若想要让所有列的宽度都相同,可以使用GridView的setNumColumns方法。该方法接受一个整数值作为参数,表示需要显示的列数。例如,若要显示3列,并且每列的宽度相同,则可以通过以下代码实现: myGridView.setNumColumns(3); 以上是关于如何在GridView设置列宽的简要解释。通过使用GridView的columns属性和相应的方法,可以根据需要自定义每个列的宽度,以实现更好的展示效果。 ### 回答2: GridView是Android开发常用的控件之一,用于展示数据。在GridView,我们可以通过设置列宽来控制每个单元格的宽度。 要设置GridView列宽,可以通过编程方式或者在XML布局文件进行设置。 如果使用编程方式,我们可以通过获取GridView的列数,并根据列数计算每个单元格的宽度。具体步骤如下: 1.首先,获取GridView的实例。 2.获取GridView的列数。可以使用getNumColumns()方法获得列数。 3.计算每个单元格的宽度。将GridView的宽度除以列数,即可得到每个单元格的宽度。 4.调用setColumnWidth()方法,将计算得到的每个单元格的宽度设置GridView。 如果在XML布局文件进行设置,可以在GridView标签添加android:columnWidth属性,来指定每个单元格的宽度。例如,android:columnWidth="100dp"表示每个单元格的宽度为100dp。 需要注意的是,设置列宽时,应该考虑到屏幕的宽度以及每个单元格的内容。如果列宽设置过小,可能会导致内容无法完全展示;如果列宽设置过大,可能会导致单元格太宽造成空白区域的浪费。因此,合理地设置列宽是很重要的。 综上所述,可以通过编程方式或者在XML布局文件设置GridView列宽。根据实际需要,合理地设置列宽可以使GridView的展示效果更加美观和适配不同的屏幕。 ### 回答3: GridView是一个常用的控件,用于显示数据表格。在GridView设置列宽是非常重要的,可以使表格呈现更好的可读性和美观度。 在GridView,可以通过以下几种方法设置列宽: 1. 使用AutoGenerateColumns属性:GridView的AutoGenerateColumns属性默认为true,可以自动根据数据源生成表格列,并根据数据的内容自动调整列宽。这种方法比较简单,但是可能无法满足个性化需求。 2. 使用列的Width属性:GridView的各个列都是通过BoundField或TemplateField定义的。可以通过设置列的Width属性来手动控制列的宽度。例如,可以使用Width="100px"来设置某一列的宽度为100像素。 3. 使用CSS样式:可以通过为GridView的各个列定义CSS样式来设置列宽。例如,可以定义一个名为"grid-column"的CSS类,然后在GridView的列使用CssClass属性来引用这个样式。在CSS样式,可以使用width属性来设置列的宽度。 4. 使用ItemStyle的Width属性:GridView的ItemStyle属性允许为每一列设置样式。可以通过设置ItemStyle的Width属性来设置列的宽度。例如,可以使用ItemStyle的Width="100px"来设置某一列的宽度为100像素。 总之,在GridView设置列宽可以通过AutoGenerateColumns属性、列的Width属性、CSS样式和ItemStyle的Width属性等多种方式实现。根据具体需求选择适合的方法,可以使表格显示效果更好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值