using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
namespace y_yk1.PubUse
{
public partial class Param : Form
{
public Param()
{
InitializeComponent();
}
public string cCPTypeID="";
public string cCPTypeValue="";
BaseClass.DBClass db = new y_yk1.BaseClass.DBClass();
BaseClass.sqlDatabase sdb = new y_yk1.BaseClass.sqlDatabase();
private void Param_Load(object sender, EventArgs e)
{
//显示第一子层结构
TreeNode RootNode = treeView1.Nodes.Add("系统参数");
string str_sql = "select * from XM_ClassifyParameterType";
DataTable dt01 = sdb.GetDt(str_sql);
for (int i = 0; i < dt01.Rows.Count; i++)
{
TreeNode tree1 = new TreeNode();
//TreeNode tree1=new TreeNode(dt01.Rows[i]["cCPTypeID"].ToString().Trim(),dt01.Rows[i]["vCPTypeName"].ToString().Trim());
tree1.Tag = dt01.Rows[i]["cCPTypeID"].ToString().Trim(); //分类排列
tree1.Text = dt01.Rows[i]["vCPTypeName"].ToString().Trim(); //显示类别名称
RootNode.Nodes.Add(tree1);
RootNode.Expand();
string str_sql02 = "select * from XM_ClassifyParameter where cCPtypeID ='" + tree1.Tag + "'"; //分类处理
DataTable dt02 = sdb.GetDt(str_sql02);
//显示第二子层结构
for (int j = 0; j < dt02.Rows.Count; j++)
{
TreeNode tree2 = new TreeNode();
tree2.Tag = dt02.Rows[j]["cCPTypeID"].ToString().Trim() + dt02.Rows[j]["cCPTypeValue"].ToString().Trim();
tree2.Text = dt02.Rows[j]["vCPName"].ToString().Trim();
tree1.Nodes.Add(tree2);
}
treeView1.SelectedNode = treeView1.Nodes[0].Nodes[i];
}
}
//======================显示“类别+参数”的基本信息:================
void show_TypeAndParameter_Info(string str_Type_ID, int i)
{
DataRow Type_DataRow = null;
DataRow Parameter_DataRow = null;
switch (i)
{
case 0:
Type_DataRow = sdb.GetDataRow("select * from XM_ClassifyParameterType where cCPTypeID ='" + str_Type_ID + "'");
if (Type_DataRow != null)
{
cCPTypeID = str_Type_ID;
csNewBt_Click_Temp();
richTextBox1.Text = Type_DataRow["vCPTypeName"].ToString().Trim();
richTextBox1.ReadOnly = false;
richTextBox1.Enabled = true;
button1.Enabled = true;
button2.Enabled = true;
button3.Enabled = true;
}
break;
case 1:
Type_DataRow = sdb.GetDataRow("select * from XM_ClassifyParameterType where cCPTypeID ='" + str_Type_ID.Substring(0, 1) + "'");
Parameter_DataRow = sdb.GetDataRow("select * from XM_ClassifyParameter where cCPTypeID ='" + str_Type_ID.Substring(0, 1) + "'and cCPTypeValue ='" + str_Type_ID.Substring(1) + "'");
if (Parameter_DataRow != null)
{
this.richTextBox2.Text = Parameter_DataRow["vCPName"].ToString().Trim();
this.richTextBox3.Text = Parameter_DataRow["vcCPDescription"].ToString().Trim();
this.richTextBox4.Text = Parameter_DataRow["vcCPMemo"].ToString().Trim();
//---------------------
richTextBox1.Text = Type_DataRow["vCPTypeName"].ToString().Trim();
richTextBox1.ReadOnly = true;
richTextBox1.Enabled = false;
button1.Enabled = false;
button2.Enabled = false;
button3.Enabled = false;
//---------------------
richTextBox2.Text = Parameter_DataRow["vCPName"].ToString().Trim();
richTextBox2.ReadOnly = false;
richTextBox2.Enabled = true;
richTextBox3.Text = Parameter_DataRow["vcCPDescription"].ToString().Trim();
richTextBox3.ReadOnly = false;
richTextBox3.Enabled = true;
richTextBox4.Text = Parameter_DataRow["vcCPMemo"].ToString().Trim();
richTextBox4.ReadOnly = false;
richTextBox4.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
//----------------------
cCPTypeID = str_Type_ID.Substring(0, 1); //类别值/Id
cCPTypeValue = str_Type_ID.Substring(1); //参数值
}
break;
case 2: //根节点:
lbNewBt_Click_Temp();
break;
}
}
private void lbNewBt_Click_Temp()
{
richTextBox1.Text = "";
richTextBox1.ReadOnly = false;
richTextBox1.Enabled = true;
button1.Enabled = false;
button2.Enabled = true;
button3.Enabled = true;
//-------------------------------------------
richTextBox2.Text = "";
richTextBox2.ReadOnly = true;
richTextBox2.Enabled = false;
richTextBox3.Text = "";
richTextBox3.ReadOnly = true;
richTextBox3.Enabled = false;
richTextBox4.Text = "";
richTextBox4.ReadOnly = true;
richTextBox4.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
//--------------------------------------------
cCPTypeID = ""; //类别值/Id
cCPTypeValue = ""; //参数值
//--------------------------------------------
richTextBox1.Focus();
}
//增加参数:
public void csNewBt_Click_Temp()
{
//richTextBox1.Text = "";
richTextBox1.ReadOnly = true;
richTextBox1.Enabled = false;
button1.Enabled = false;
button2.Enabled = false;
button3.Enabled = true;
//-------------------------------------------
richTextBox2.Text = "";
richTextBox2.ReadOnly = false;
richTextBox2.Enabled = true;
richTextBox3.Text = "";
richTextBox3.ReadOnly = false;
richTextBox3.Enabled = true;
richTextBox4.Text = "";
richTextBox4.ReadOnly = false;
richTextBox4.Enabled = true;
button4.Enabled = false;
button5.Enabled = true;
button6.Enabled = true;
//--------------------------------------------
//cCPTypeID = ""; //类别值/Id
cCPTypeValue = ""; //参数值
//--------------------------------------------
richTextBox2.Focus();
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string str01 = treeView1.SelectedNode.Tag.ToString().Trim();
if (str01.Length == 0)
{
show_TypeAndParameter_Info(str01, 2);
}
else if (str01.Length == 1)
{
show_TypeAndParameter_Info(str01, 0);
}
else if (str01.Length > 1)
{
show_TypeAndParameter_Info(str01, 1);
}
}
}
}
在运行过程中 “ string str01 = treeView1.SelectedNode.Tag.ToString().Trim();”这句话
出现了“未将对象引用设置到对象的实例”。该如何解决?