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

📄 referencefrm.cs

📁 应用于C#中的参照功能
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
using System.Collections;

namespace WATestPGB
{
    public partial class ReferenceFrm : Form
    {
        private System.Windows.Forms.TextBox result;
        private DataGridViewRow m_dgvRow;
        public event EventHandler AfterSelector;
        private string Node_SQL;
        private string GidView_SQL;
        private string Cnn_SQL;


        public ReferenceFrm(System.Windows.Forms.TextBox result, string Node_SQL, string GidView_SQL, string Cnn_SQL)
        {
            InitializeComponent();
            this.result = result;
            this.Node_SQL = Node_SQL;
            this.GidView_SQL = GidView_SQL;
            this.Cnn_SQL = Cnn_SQL;
        }

        private void ReferenceFrm_Load(object sender, EventArgs e)
        {

            OleDbConnection cnn = getConnection(Cnn_SQL);
            OleDbCommand cmd = cnn.CreateCommand();
            //string m_cl_str = "select  cCCCode,cCCName from customerclass"; 


            //string m_cl_str =" select a.cCCCode,a.cCCName,b.cCCCode,b.cCCName from customerclass a left join customerclass b "

            //                +"on a.cCCCode=substring(b.cCCCode,1,2) and  b.iCCGrade=2 where a.iCCGrade=1 ";
            cmd.CommandText = Node_SQL;

            cnn.Open();

            System.Windows.Forms.TreeNodeCollection nodeColl = this.treeView1.Nodes;
            TreeNode node = new TreeNode("条件选择");
            nodeColl.Add(node);
            OleDbDataReader reader= cmd.ExecuteReader();


            Hashtable hashtable = new Hashtable();


            while (reader.Read())
            {
                Console.WriteLine(reader[0].ToString());

                if (!hashtable.ContainsKey(reader[0]))
                {
                    hashtable.Add(reader[0], reader[1]);
                    TreeNode m_node = new TreeNode();
                    m_node.Name = reader[0].ToString();
                    m_node.Text = reader[1].ToString();
                    if(reader.FieldCount>2)
                    if (reader[2]!=null && !reader[2].ToString().Equals(""))
                    {
                        TreeNode m_leaf = new TreeNode();
                        m_leaf.Name = reader[2].ToString();
                        m_leaf.Text = reader[3].ToString();
                        m_node.Nodes.Add(m_leaf);

                    }


                    nodeColl.Add(m_node);
                }
                else
                { 
                    foreach ( DictionaryEntry de in hashtable )
                    {

                        string m_Find = de.Key.ToString();
                        TreeNode m_node = nodeColl.Find(m_Find,true)[0];
                        if (reader.FieldCount > 2)
                        if (reader[2] != null && !reader[2].ToString().Equals(""))
                        {
                            TreeNode m_leaf = new TreeNode();
                            m_leaf.Name = reader[2].ToString();
                            m_leaf.Text = reader[3].ToString();
                            m_node.Nodes.Add(m_leaf);

                        }

                   }
                }
            
            }

            reader.Close();
            cnn.Close();



            string m_ccl = treeView1.Nodes[1].Name;

            DataTable Filldt = new DataTable();

            //string m_cl_str = "select   cCusCode 客户编码,cCusName 客户名称,cCusAbbName 客户简称 from customer where cCCCode='" + m_ccl + "'";



            cmd = cnn.CreateCommand();
            cmd.CommandText = GidView_SQL + "'" + m_ccl + "'";

            cnn.Open();
            cmd.ExecuteNonQuery();
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmd);
            dataAdapter.Fill(Filldt);

            dataGridView1.DataSource = Filldt;

        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            OleDbConnection cnn = getConnection(Cnn_SQL);
            TreeNode node = treeView1.SelectedNode;

                if (node.IsSelected)
                {
                    Console.WriteLine("--name\t{0}--value\t{1}", node.Name, node.Text);

                    DataTable Filldt = new DataTable();

                    //string m_cl_str = "select cCusCode 客户编码,cCusName 客户名称,cCusAbbName 客户简称  from customer where cCCCode='" + node.Name + "'";


                    OleDbCommand cmd = cnn.CreateCommand();
                    cmd.CommandText = GidView_SQL + "'" + node.Name + "'"; 

                    cnn.Open();
                    cmd.ExecuteNonQuery();
                    OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmd);
                    dataAdapter.Fill(Filldt);

                    dataGridView1.DataSource = Filldt;
                    //dataGridView1.Columns[0].Visible = false;

                }
           


        }

        private OleDbConnection getConnection(string m_string )
        {
            string m_str =m_string;
            OleDbConnection cnn = new OleDbConnection(m_str);
            return cnn;
   
        }

        private void dataGridView1_DoubleClick(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count > 0)
            {

                m_dgvRow = dataGridView1.SelectedRows[0];
          
                result.Text = m_dgvRow.Cells[1].Value.ToString();
                result.Name = m_dgvRow.Cells[0].Value.ToString();
                if (AfterSelector != null)
                {
                    AfterSelector(this, e);
                }

                this.Close();
            
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

    }
}

⌨️ 快捷键说明

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