C# Dev XtraReport 简单测试

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.XtraReports.UI; 
using System.Data;

         public void LoadData()
         {
             DataTable mfdt = DS.Tables["主表"];
             for (int i = 0;i< mfdt.Columns.Count; i++)
             {
                 string Columnname = mfdt.Columns[i].ColumnName;
                 string ColVale = mfdt.Rows[0][Columnname].ToString();
                 SetLable(Columnname, ColVale, xtraReport, "");
                 SetLable(Columnname, ColVale, xtraReport, "1");
                 SetLable(Columnname, ColVale, xtraReport, "2");
                 SetLable(Columnname, ColVale, xtraReport, "3");

                 SetBarCode(Columnname, ColVale, xtraReport, "");
                 SetBarCode(Columnname, ColVale, xtraReport, "1");
                 SetBarCode(Columnname, ColVale, xtraReport, "2");
                 SetBarCode(Columnname, ColVale, xtraReport, "3");
             }

             DetailBand trb = xtraReport.FindControl("detailBand1", true) as DetailBand;
             XRTable xbtb = trb.FindControl("table1", true) as XRTable;
             XRTableRow tableRow1 = xbtb.FindControl("tableRow1", true) as XRTableRow;
             XRTableCell tableCell1 = xbtb.FindControl("tableCell1", true) as XRTableCell;
             XRTableCell tableCell2 = xbtb.FindControl("tableCell2", true) as XRTableCell;
             XRTableCell tableCell3 = xbtb.FindControl("tableCell3", true) as XRTableCell;

//明细表
xtra.DataSource = ds.Tables[1];
tableCell1.DataBindings.Add("Text", ds.Tables[1], "TF_POS.OS_NO");
tableCell2.DataBindings.Add("Text", ds.Tables[1], "TF_POS.ITEM");
tableCell3.DataBindings.Add("Text", ds.Tables[1], "TF_POS.PRD_NO");


         }


         /// <suary>
         /// 设置对象Text
         /// </summary>
         /// <param name="col">字段</param>
         /// <param name="colvale">字段值</param>
         /// <param name="xtra">报表对象</param>
         public void SetLable(string col, string colvale, XtraReport xtra, string inx)
         {
             try
             {
                 XRLabel TxtColumnName1 = xtra.FindControl("txt" + col + inx, true) as XRLabel;
                 TxtColumnName1.Text = colvale;
             }
             catch (Exception)
             {

             }
         }
         /// <summary>
         /// 设置对象Text
         /// </summary>
         /// <param name="col">字段</param>
         /// <param name="colvale">字段值</param>
         /// <param name="xtra">报表对象</param>
         public void SetBarCode(string col, string colvale, XtraReport xtra, string inx)
         {
             try
             {
                 XRBarCode xrbar = xtra.FindControl("bar" + col + inx, true) as XRBarCode;
                 xrbar.AutoModule = true;
                 //xrbar.Dpi = 254F; //xrbar.Location = rpb.pint.IsEmpty ? new Point(0, 0) : rpb.pint;
                 //xrbar.Module = 5.08F;
                 //xrbar.Size = rpb.size.IsEmpty ? new Size(this.PageWidth - this.Margins.Left - this.Margins.Right, 150) : rpb.size;
                 xrbar.Text = colvale;
                 xrbar.ShowText = true;
             }
             catch (Exception)
             {

             }
         }

 

转载于:https://www.cnblogs.com/lanyubaicl/p/8808061.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单C# Dev 实现示例,仅供参考: 首先,我们需要定义一个菜单项类,用于存储菜单项的名称、命令和权限等信息: ```csharp public class MenuItem { public string Name { get; set; } // 菜单项名称 public string Command { get; set; } // 菜单项命令 public string Permission { get; set; } // 菜单项权限 } ``` 然后,我们需要定义一个菜单管理器类,用于管理菜单项的创建、删除、修改和权限控制等操作: ```csharp public class MenuManager { private List<MenuItem> _menuItems; // 菜单项列表 public MenuManager() { _menuItems = new List<MenuItem>(); } // 添加菜单项 public void AddMenuItem(MenuItem menuItem) { _menuItems.Add(menuItem); } // 删除菜单项 public void RemoveMenuItem(MenuItem menuItem) { _menuItems.Remove(menuItem); } // 修改菜单项 public void ModifyMenuItem(MenuItem menuItem) { // 根据菜单项名称查找对应的菜单项 var item = _menuItems.FirstOrDefault(x => x.Name == menuItem.Name); if (item != null) { // 更新菜单项信息 item.Command = menuItem.Command; item.Permission = menuItem.Permission; } } // 检查菜单项权限 public bool CheckPermission(string menuItemName, string userPermission) { // 根据菜单项名称查找对应的菜单项 var item = _menuItems.FirstOrDefault(x => x.Name == menuItemName); if (item != null) { // 检查用户权限是否包含菜单项权限 return userPermission.Contains(item.Permission); } return false; } } ``` 最后,我们可以在应用程序中创建一个菜单控件,并将菜单管理器对象与菜单控件关联。当用户点击菜单项时,我们可以调用菜单管理器的 `CheckPermission` 方法来检查用户权限是否允许执行对应的命令。 下面是一个简单的示例代码: ```csharp public partial class MainForm : Form { private MenuManager _menuManager; public MainForm() { InitializeComponent(); // 创建菜单管理器 _menuManager = new MenuManager(); // 添加菜单项 _menuManager.AddMenuItem(new MenuItem { Name = "文件", Command = "File", Permission = "Admin" }); _menuManager.AddMenuItem(new MenuItem { Name = "编辑", Command = "Edit", Permission = "User" }); // 创建菜单 var menuStrip = new MenuStrip(); var fileMenu = new ToolStripMenuItem("文件"); var editMenu = new ToolStripMenuItem("编辑"); menuStrip.Items.Add(fileMenu); menuStrip.Items.Add(editMenu); // 添加菜单项 foreach (var item in _menuManager.GetMenuItems()) { var menuItem = new ToolStripMenuItem(item.Name); menuItem.Tag = item.Command; if (_menuManager.CheckPermission(item.Name, "Admin")) { fileMenu.DropDownItems.Add(menuItem); } if (_menuManager.CheckPermission(item.Name, "User")) { editMenu.DropDownItems.Add(menuItem); } } // 将菜单添加到窗体 this.Controls.Add(menuStrip); } // 菜单项点击事件 private void MenuItem_Click(object sender, EventArgs e) { var menuItem = sender as ToolStripMenuItem; var command = menuItem.Tag.ToString(); // 执行对应的命令 // ... } } ``` 在这个示例中,我们创建了一个 `MainForm` 窗体,在窗体的构造函数中创建了菜单管理器和菜单控件,并将菜单管理器的菜单项添加到菜单控件中。在菜单项点击事件中,我们可以根据菜单项的 `Tag` 属性获取对应的命令,并执行相应的操作。在添加菜单项时,我们使用 `CheckPermission` 方法来检查用户权限是否允许添加菜单项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值