⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hisformmodelmanageform.cs

📁 .net 开发的基础框架
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using SPRFrame;
using Sybase.DataWindow;

namespace HPIResource.HisForm
{
    public partial class HisFormModelManageForm : Form
    {
        private HForm _form;    // 当前的申请单
        private int _ItemID;    // 当前的项目编号


        public HisFormModelManageForm()
        {
            InitializeComponent();
        }

        private void FormModelManageForm_Load(object sender, EventArgs e)
        {
            WindowState = FormWindowState.Maximized;

            _form = new HForm();
            //string ss = _form.create_syntax();
            //this.dw_form_view.Create(ss);
            //this.dw_form_view.InsertRow(0);

            ListFormCatalog();
        }

        // 检索申请单类别
        private void ListFormCatalog()
        {
            this.tv_form_list.Nodes.Clear();

            // 加入根节点
            TreeNode root_tn;
            root_tn = new TreeNode();
            root_tn.Text = "全部";
            root_tn.Name = "ALLNode";
            root_tn.Tag = "";
            root_tn.ImageIndex = 1;
            this.tv_form_list.Nodes.Add(root_tn);

            // 读取申请单分类
            Form_Catalog_List fc = new Form_Catalog_List();
            Form_List fl ;
            fc.Retrieve();
            TreeNode c_tn,f_tn;
            for (int i = 1; i <= fc.RowCount; i++)
            {
                fc.SetRow(i);
                c_tn = new TreeNode();
                c_tn.Text = fc.CAPTION;
                c_tn.Name = "Catalog";
                c_tn.Tag = fc.ID;
                c_tn.ImageIndex = 2;
                root_tn.Nodes.Add(c_tn);
                // 检索该类型下的申请单模版
                fl = new Form_List();
                fl.SetDataAsModel(fc.ID);
                fl.Retrieve();
                for (int j = 1; j <= fl.RowCount; j++)
                {
                    fl.SetRow(j);
                    f_tn = new TreeNode();
                    f_tn.Text = fl.CAPTION;
                    f_tn.Name = "FormModel";
                    f_tn.Tag = fl.ID;
                    f_tn.ImageIndex = 3;
                    c_tn.Nodes.Add(f_tn);
                }
            }

        }

        // 读取申请单的项目
        public void ListFormItem(int iFormId)
        {
            this.tv_form_item.Nodes.Clear();
            // 加入根节点
            TreeNode root_tn;
            root_tn = new TreeNode();
            root_tn.Text = this.tv_form_list.SelectedNode.Text;
            root_tn.Name = "Form";
            root_tn.Tag = this.tv_form_list.SelectedNode.Tag;
            root_tn.ImageIndex = 0;
            this.tv_form_item.Nodes.Add(root_tn);

            // 递归检索项目
            int formID = Convert.ToInt32(this.tv_form_list.SelectedNode.Tag.ToString());
            ListFormItem(root_tn, formID, 0);
        }
        public void ListFormItem(TreeNode tn,int iFormId,int iF_Id)
        {
            FormItem_List fi = new FormItem_List();
            TreeNode c_tn;
            fi.SetDataByChild(iFormId, iF_Id);
            fi.Retrieve();
            for (int i = 1; i <= fi.RowCount; i++)
            {
                fi.SetRow(i);
                c_tn = new TreeNode();
                c_tn.Text = fi.CAPTION;
                c_tn.Name = "Item";
                c_tn.Tag = iFormId.ToString()+"-"+fi.ID.ToString();
                c_tn.ImageIndex = Convert.ToInt32(fi.TYPE);
                tn.Nodes.Add(c_tn);
                ListFormItem(c_tn, iFormId, fi.ID);
            }
        }

        private void MenuItem_newForm_Click(object sender, EventArgs e)
        {
            // 创建新模版
            TreeNode sn =  this.tv_form_list.SelectedNode;
            if (sn == null) return;
            if (sn.Name != "Catalog") return;
            SPRF.PARM = "N"+sn.Tag.ToString();
            HisFormModel_InfoForm aa = new HisFormModel_InfoForm();
            aa.ShowDialog();
            if (SPRF.PARM == null) return;
            ListFormCatalog();
        }

        private void tv_form_list_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            // 选择一个申请单模版
            TreeNode sn = this.tv_form_list.SelectedNode;
            if (sn == null) return;
            if (sn.Name != "FormModel") return;

            int id = Convert.ToInt32(sn.Tag.ToString());

            _form.init(id,0);
            ListFormItem(id);

            
            string ss = _form.create_syntax();
            this.dw_form_view.Create(ss);
            _form._FormView.ShareData(this.dw_form_view);

           
        }

        private void tabControl1_Selected(object sender, TabControlEventArgs e)
        {
            
            if (e.TabPageIndex == 0)
            {
                string ss = _form.create_syntax();
                
                this.dw_form_view.Create(ss);
                this.dw_form_view.InsertRow(0);
            }
        }

        private void tv_form_item_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            TreeNode sn = e.Node;
            if (sn.Name != "Item") return;
            SPRF.PARM = sn.Tag.ToString();
            HisFormItemForm aa = new HisFormItemForm();
            aa.ShowDialog();
        }

        private void btn_NewItem_Click(object sender, EventArgs e)
        {
            int id = _form.ID;
            SPRF.PARM = id.ToString()+"-0";
            HisFormItemForm aa = new HisFormItemForm();
            aa.ShowDialog();
            if (SPRF.PARM.ToString() == "OK")
            {
                _form.init(id, 0);
                ListFormItem(id);

                string ss = _form.create_syntax();
                this.dw_form_view.Create(ss);
                this.dw_form_view.InsertRow(0);
            }
        }

        private void btn_Print_Click(object sender, EventArgs e)
        {
            
            Printer.AddCustomPaperSize("Star NX-100+","aa",(float)150,(float)60);
            Printer.SetPrinterToDefault("Star NX-100+");
            dw_form_view.Modify("DataWindow.print.preview.rulers='yes'");
            dw_form_view.Modify("DataWindow.print.preview='yes'");
            //dw_form_view.Print();
        }

        private void tv_form_item_ItemDrag(object sender, ItemDragEventArgs e)
        {
            DoDragDrop(e.Item, DragDropEffects.Move);
        }

        private void tv_form_item_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Move;
        }

        private void tv_form_item_DragDrop(object sender, DragEventArgs e)
        {
            TreeNode NewNode;

            if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
            {
                Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
                TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
                NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");

                if (DestinationNode.TreeView == NewNode.TreeView)
                {
                    // 将 NewNode 放到 DestinationNode 下
                    // 取得 DestinationNode 的 ID
                    string sTmp = DestinationNode.Tag.ToString();
                    int iPos = sTmp.IndexOf("-");
                    int f_id;
                    if (iPos >= 0)
                    {
                        f_id = Convert.ToInt32(sTmp.Substring(iPos+1,sTmp.Length - iPos - 1));
                    }
                    else
                    {
                        f_id = 0;
                    }
                    // 将NewNode 的 F_ID 设定为新的项目编号
                    FormItem_List fi = new FormItem_List();
                    sTmp = NewNode.Tag.ToString();
                    iPos = sTmp.IndexOf("-");
                    int form_id,item_id;
                    if (iPos >= 0)
                    {
                        form_id = Convert.ToInt32(sTmp.Substring(0,iPos));
                        item_id = Convert.ToInt32(sTmp.Substring(iPos + 1, sTmp.Length - iPos - 1));
                        fi.SetDataById(form_id,item_id);
                        fi.Retrieve();
                        fi.F_ID = f_id;
                        try
                        {
                            fi.UpdateData();
                            SPRF.SQLCA.Commit();
                            ListFormItem(form_id);
                        }
                        catch (DbErrorException ex)
                        {
                            SPRF.ErrText = ex.SqlErrorText;
                            SPRF.SQLCA.Rollback();
                        }
                    }
                    
                }
            }
        }

        private void dw_form_view_ItemChanged(object sender, Sybase.DataWindow.ItemChangedEventArgs e)
        {
            _form._FormView.ShareDataOff();
            _form.SetItemValue(e.ColumnName,e.Data);
            this.dw_form_view.Reset();
            _form._FormView.ShareData(this.dw_form_view);
        }

        // 显示一个项目的关联费用
        private void ViewItemF()
        {
            dw_item_f.LibraryList = _form._ItemF.LibraryList;
            dw_item_f.DataWindowObject = _form._ItemF.DataWindowObject;
            _form._ItemF.ShareData(dw_item_f);
        }

        private void btn_AddItemF_Click(object sender, EventArgs e)
        {
            HPIR.SelectItem();
            if (SPRF.PARM == null) return;

            // 将收费项目关联到这个项目上
            string fCode = SPRF.PARM.ToString();
            
            int rc = _form.AddItemF(_ItemID, fCode);
            if (rc == 0)
            {
                _form.ReadItemF(_ItemID);
                ViewItemF();
            }
            else
            {
                MessageBox.Show("添加费用失败:"+SPRF.ErrText);
            }

        }

        // 项目节点改变了
        private void tv_form_item_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            TreeNode sn = e.Node;
            if (sn.Name != "Item")
            {
                this.btn_AddItemF.Enabled = false;
                return;
            }

            string sTmp = sn.Tag.ToString();
            int iPos = sTmp.IndexOf("-");
            _ItemID = Convert.ToInt32(sTmp.Substring(iPos + 1, sTmp.Length - iPos - 1));
            _form.ReadItemF(_ItemID);
            ViewItemF();

            this.btn_AddItemF.Enabled = true;
        }

        private void btn_FormF_Click(object sender, EventArgs e)
        {
            int rc = _form.CreateFormF();
            if (rc == -1)
            {
                MessageBox.Show("申请单划价错误:"+SPRF.ErrText);
                return;
            }
            _form.ReadFormF();

            dw_form_f.LibraryList = _form._FormF.LibraryList;
            dw_form_f.DataWindowObject = _form._FormF.DataWindowObject;
            _form._FormF.ShareData(dw_form_f);
        }


    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -