极致有风味之意义是,他能够提供有好看的鼓吹二维码模板,让小程序能够快传回,引爆朋友圈   weixin.hotapp.cn

3、功能实现代码

1)绑定相关的汇总数据

 Dictionary<string, CListItem> dict = GetAgeCondition();
 if (dict.Keys.Count > 0)
 {
     grid1.Cell(startRow++, 1).Text = "年龄段情况:";

     foreach (string key in dict.Keys)
     {
         CListItem item = dict[key];
         grid1.Cell(startRow, 2).Text = key;
         grid1.Cell(startRow, 3).Text = string.Format("有{0}人,占比例{1} ", item.Text, item.Value);
         grid1.Cell(startRow, 4).Text = string.Format("Age:{0}", key);

         startRow++;
     }
 } 

2)超链接处理事件代码

在控件上单击Grid的Hyperlink处理事件,然后实现该中间处理代码,如下所示。

        private void grid1_HyperLinkClick(object Sender, FlexCell.Grid.HyperLinkClickEventArgs e)
        {
            FlexCell.Cell cell = grid1.Cell(e.Row, 4);
            if (cell != null && !string.IsNullOrEmpty(cell.Text))
            {
                FrmStatisticDetail dlg = new FrmStatisticDetail();
                dlg.KeyCondition = cell.Text;
                dlg.ShowDialog();
            }
            e.URL = "";
            e.Changed = true;
        }

3)明细窗体处理代码

       private void DealAge(string condition, ref int startRow)
        {
            grid1.Cell(1, 1).Text += string.Format("(条件:年龄{0})", condition);

            startRow++;
            // 设置单元格文字
            grid1.Cell(startRow, 1).Text = "年龄";
            grid1.Cell(startRow, 2).Text = "编号";
            grid1.Cell(startRow, 3).Text = "姓名";
            grid1.Cell(startRow, 4).Text = "性别";
            grid1.Cell(startRow, 5).Text = "生日";
            grid1.Cell(startRow, 6).Text = "职别";
            grid1.Cell(startRow, 7).Text = "部别";
            grid1.Range(startRow, 1, startRow, 7).BackColor = Color.Yellow;
            int start = startRow++;

            string where = "Age " + condition; 
            if(condition.Contains("~"))
            {
                string[] conArray = condition.Split('~');
                where = string.Format("Age >={0} and Age<={1}", conArray[0], conArray[1]);
            }

            DataTable dt = BLLFactory<Pilot>.Instance.FindByView("PilotAgeView", where, "Age", true);
            foreach (DataRow row in dt.Rows)
            {
                grid1.Cell(startRow, 1).Text = row["Age"].ToString();
                grid1.Cell(startRow, 2).Text = row["PilotNo"].ToString();
                grid1.Cell(startRow, 3).Text = row["Name"].ToString();
                grid1.Cell(startRow, 4).Text = row["Sex"].ToString();
                DateTime birthday;
                if (DateTime.TryParse(row["Birthday"].ToString(), out birthday))
                {
                    grid1.Cell(startRow, 5).Text = birthday.ToString("yyyy-MM-dd");
                }
                grid1.Cell(startRow, 6).Text = row["OfficialRank"].ToString();
                grid1.Cell(startRow, 7).Text = row["DeptCode"].ToString();

                startRow++;
            }
            FlexCell.Range range = grid1.Range(start, 1, startRow, 7);
            range.set_Borders(FlexCell.EdgeEnum.Outside | FlexCell.EdgeEnum.Inside, FlexCell.LineStyleEnum.Thin);

            startRow++;
            startRow++;
        }

上面的代码,主要就是是动态绘制表头,设置格式,然后绘制表格明细的但元格内容即可。

4)实现打印、导出Excel/PDF等力量

控件内置了很多导出功能,实现核心的导出、打印功能,非常便宜,代码如下。

       private void menu_Preview_Click(object sender, EventArgs e)
        {
            try
            {
                grid1.PrintPreview();
            }
            catch (Exception err)
            {
                MessageDxUtil.ShowError(err.Message);
            }
        }

        private void menu_PageSetting_Click(object sender, EventArgs e)
        {
            try
            {
                grid1.ShowPageSetupDialog();
            }
            catch (Exception err)
            {
                MessageDxUtil.ShowError(err.Message);
            }
        }

        private void menu_ExportExcel_Click(object sender, EventArgs e)
        {
            try
            {
                #region 保存Excel文件
                SpecialDirectories sp = new SpecialDirectories();
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.Filter = "Excel(*.xls)|*.xls|All File(*.*)|*.*";
                dialog.Title = "保存Excel";
                try
                {
                    dialog.InitialDirectory = sp.Desktop;
                }
                catch
                {
                    dialog.InitialDirectory = "C:\\";
                }
                dialog.RestoreDirectory = true;
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    string fileToSave = dialog.FileName;
                    if (string.IsNullOrEmpty(fileToSave))
                    {
                        return;
                    }

                    bool success = grid1.ExportToExcel(fileToSave, true, true);
                    if (success)
                    {
                        Process.Start(fileToSave);
                    }
                }
                #endregion
            }
            catch (Exception err)
            {
                MessageDxUtil.ShowError(err.Message);
            }
        }

        /// <summary>
        /// 导出Excel文件
        /// </summary>
        /// <param name="fileToSave">文件路径</param>
        /// <returns></returns>
        public bool ExportExcel(string fileToSave)
        {
            bool success = grid1.ExportToExcel(fileToSave, true, true);
            return success;
        }

        private void menu_ExportPDF_Click(object sender, EventArgs e)
        {
            try
            {
                grid1.PageSetup.DocumentName = "统计报表";
                bool success = grid1.ExportToPDF("");
            }
            catch (Exception err)
            {
                MessageDxUtil.ShowError(err.Message);
            }
        }

 

 

麻小程序码,是芝麻小程序统计(原HotApp小序统计)提供的一个稍稍程序带参数二维码生成工具,它亦可生成专门的小程序带参数二维码,也不怕是菊花码,具备美化码,修改菊花码的水彩,前景色,背景色。

1、报表统计功能介绍

功能介绍如下图所示。

统计 1

单击链接好进一步呈现相关的人员列表,如下图所出示。

统计 2

FlexCell表格控件有很多形点的功能,使用啊毕竟比较便于,很多时分,可以套传统的Excel内容以Winform界面上显现,而且也支撑内容格式的事先设置等,本文主要介绍下这个控件来促成部分突出的统计与涉嫌信息展示的效果。在事实上项目受到,有一个这样的需要,首先要出示有数码的到底的汇总数据,每条以好更进一步查看该对应的周密数据,类似于数据仓库的钻取功能,那么我们只要争贯彻以上的效用吗?

2、功能实现思路分析

实现上述功能,如果下.NET自带的DataGridView,通过以以Cell里面加加链接控件的点子,估计为能够实现,不过或许操作起来会较辛苦一些。

正文主要介绍以FlexCell
表格控件实现以上操作的笔触,共大家参考,并非为该控件做广告。

率先我们用在为每个条件显得一行记录,对承诺还要记住它们的基准,其中起一个超链接的才元格,供我们单击可以查明细。为了铭记该行的法,我骨子里当一个隐藏列里面放了条件表达式,真实情况下如下所示,只是以显示美观,不待出示隐藏的条件内容。

统计 3

FlexCell提供超链接的单元格类型,设置为超链接类型的单纯元格,内容会加下划线,而且可以针对超链接的风波进展捕捉处理。

赢得了响应的处理事件,以及存放了相应之基准描述,那么以波里,打开一个新窗体,根据规则内容获取相应之列表显示出即可。