예제 #1
0
        public PFGridColumn Add(string dataIndex)
        {
            var col = new PFGridColumn {
                DataIndex = dataIndex, Text = dataIndex
            };

            if (_modelConfig != null)
            {
                var config = _modelConfig[col.DataIndex];
                if (config != null)//为了页面可以修改列宽,所以应该像现在这样Add就加上配置
                {
                    col.Text = config.FieldText;

                    if (!string.IsNullOrWhiteSpace(config.FieldWidth))
                    {
                        col.Width = config.FieldWidth;
                    }
                    if (!config.Visible)
                    {
                        col.Visible = false;
                    }

                    PFGridColumn.SetStyleByDataType(col, config.FieldType);
                    //bool isPercent = config.FieldType == typeof(PFPercent);
                    //if (config.FieldType == typeof(decimal) || config.FieldType == typeof(int) || isPercent)
                    //{
                    //    col.SetStyle("text-align:right;padding-right: 9px");
                    //    col.Render = (c, r,v) =>
                    //    {
                    //        var rr = PFDataHelper.Thousandth(v);
                    //        if (isPercent)
                    //        {
                    //            rr += " %";
                    //        }
                    //        return rr;
                    //    };
                    //    col.SetClassName("col-r");
                    //}
                }
            }
            if (                                      //setWidthByHeaderWord &&
                string.IsNullOrWhiteSpace(col.Width)) //设置为中文后进入这里才有意义
            {
                //var w = PFDataHelper.GetWordsWidth(col.Text,null,null,36);
                var w = PFDataHelper.GetWordsWidth(col.Text);
                if (w != null)
                {
                    col.Width = w;
                }
            }
            //if (!string.IsNullOrWhiteSpace(col.Width))
            //{
            //    col.Width = (decimal.Parse(col.Width.Replace("px", "")) + 36) + "px";//36是padding左右的值
            //}
            //if (Count < 1)
            //{
            //    col.IsFirstColumn=true;
            //}
            this.Add(col);
            return(col);
        }