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

📄 selectmaterials.h

📁 Visual C++.net数据库开发经典案例
💻 H
字号:
#pragma once
#include "LinkDataBase.h"
#include "DataGridNoActiveCellColumn.h"

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;


namespace My
{
	/// <summary> 
	/// SelectMaterials 摘要
	///
	/// 警告: 如果您更改该类的名称,则将需要更改 
	///          与该类所依赖的所有 .resx 文件关联的托管资源编译器工具的 
	///          “资源文件名”属性。  否则,
	///          设计器将不能与此窗体关联的
	///          本地化资源正确交互。
	/// </summary>
	public __gc class SelectMaterials : public System::Windows::Forms::Form
	{
	//--------------------成员声明------------------------
	private:
		LinkDataBase* MyDataBase;	//数据库连接类
		DataSet* ds;
		String* strTableName;
		String* strSQL;
	    public:String* SeletedMaterialID;
	private: System::Windows::Forms::ImageList *  imageList1;
	public:String* SeletedMaterialName;
		//-------------------成员声明结束-----------------------
	public: 
		SelectMaterials(void)
		{
			InitializeComponent();
			//初始化
			this->MyDataBase = new LinkDataBase();
			this->ds = new DataSet();
			//查询物料主文件
			this->strSQL = S"Select * from 物料主文件";
			this->strTableName = S"物料主文件";
			this->MyDataBase->SelectDataBase(this->ds,this->strSQL,this->strTableName);
			//设置DataGrid
			this->dgrdMaterials->DataSource = this->ds->Tables->Item[S"物料主文件"];
			this->DataGridStateControl();
		}
        
	protected: 
		void Dispose(Boolean disposing)
		{
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
	private: System::Windows::Forms::DataGrid *  dgrdMaterials;
	private: System::Windows::Forms::GroupBox *  groupBox1;
	private: System::Windows::Forms::TextBox *  tBoxMaterialName;
	private: System::Windows::Forms::Label *  label2;
	private: System::Windows::Forms::TextBox *  tBoxMaterialID;
	private: System::Windows::Forms::Label *  label1;
	private: System::Windows::Forms::Button *  btnSearch;
	private: System::Windows::Forms::TextBox *  tBoxMaterialWord;
	private: System::Windows::Forms::Label *  label4;
	private: System::ComponentModel::IContainer *  components;

	private:
		/// <summary>
		/// 必需的设计器变量。
		/// </summary>


		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		void InitializeComponent(void)
		{
			this->components = new System::ComponentModel::Container();
			System::Resources::ResourceManager *  resources = new System::Resources::ResourceManager(__typeof(My::SelectMaterials));
			this->dgrdMaterials = new System::Windows::Forms::DataGrid();
			this->groupBox1 = new System::Windows::Forms::GroupBox();
			this->tBoxMaterialName = new System::Windows::Forms::TextBox();
			this->label2 = new System::Windows::Forms::Label();
			this->tBoxMaterialID = new System::Windows::Forms::TextBox();
			this->label1 = new System::Windows::Forms::Label();
			this->btnSearch = new System::Windows::Forms::Button();
			this->imageList1 = new System::Windows::Forms::ImageList(this->components);
			this->tBoxMaterialWord = new System::Windows::Forms::TextBox();
			this->label4 = new System::Windows::Forms::Label();
			(__try_cast<System::ComponentModel::ISupportInitialize *  >(this->dgrdMaterials))->BeginInit();
			this->groupBox1->SuspendLayout();
			this->SuspendLayout();
			// 
			// dgrdMaterials
			// 
			this->dgrdMaterials->DataMember = S"";
			this->dgrdMaterials->Dock = System::Windows::Forms::DockStyle::Fill;
			this->dgrdMaterials->HeaderForeColor = System::Drawing::SystemColors::ControlText;
			this->dgrdMaterials->Location = System::Drawing::Point(0, 79);
			this->dgrdMaterials->Name = S"dgrdMaterials";
			this->dgrdMaterials->Size = System::Drawing::Size(760, 318);
			this->dgrdMaterials->TabIndex = 4;
			this->dgrdMaterials->DoubleClick += new System::EventHandler(this, dgrdMaterials_DoubleClick);
			// 
			// groupBox1
			// 
			this->groupBox1->Controls->Add(this->tBoxMaterialName);
			this->groupBox1->Controls->Add(this->label2);
			this->groupBox1->Controls->Add(this->tBoxMaterialID);
			this->groupBox1->Controls->Add(this->label1);
			this->groupBox1->Controls->Add(this->btnSearch);
			this->groupBox1->Controls->Add(this->tBoxMaterialWord);
			this->groupBox1->Controls->Add(this->label4);
			this->groupBox1->Dock = System::Windows::Forms::DockStyle::Top;
			this->groupBox1->Location = System::Drawing::Point(0, 0);
			this->groupBox1->Name = S"groupBox1";
			this->groupBox1->Size = System::Drawing::Size(760, 79);
			this->groupBox1->TabIndex = 3;
			this->groupBox1->TabStop = false;
			// 
			// tBoxMaterialName
			// 
			this->tBoxMaterialName->Location = System::Drawing::Point(408, 39);
			this->tBoxMaterialName->Name = S"tBoxMaterialName";
			this->tBoxMaterialName->Size = System::Drawing::Size(120, 21);
			this->tBoxMaterialName->TabIndex = 4;
			this->tBoxMaterialName->Text = S"";
			// 
			// label2
			// 
			this->label2->Location = System::Drawing::Point(344, 44);
			this->label2->Name = S"label2";
			this->label2->Size = System::Drawing::Size(56, 11);
			this->label2->TabIndex = 3;
			this->label2->Text = S"物料名称";
			// 
			// tBoxMaterialID
			// 
			this->tBoxMaterialID->Location = System::Drawing::Point(208, 40);
			this->tBoxMaterialID->Name = S"tBoxMaterialID";
			this->tBoxMaterialID->Size = System::Drawing::Size(120, 21);
			this->tBoxMaterialID->TabIndex = 2;
			this->tBoxMaterialID->Text = S"";
			// 
			// label1
			// 
			this->label1->Location = System::Drawing::Point(144, 45);
			this->label1->Name = S"label1";
			this->label1->Size = System::Drawing::Size(56, 11);
			this->label1->TabIndex = 1;
			this->label1->Text = S"物料编号";
			// 
			// btnSearch
			// 
			this->btnSearch->ImageAlign = System::Drawing::ContentAlignment::MiddleLeft;
			this->btnSearch->ImageIndex = 6;
			this->btnSearch->ImageList = this->imageList1;
			this->btnSearch->Location = System::Drawing::Point(32, 40);
			this->btnSearch->Name = S"btnSearch";
			this->btnSearch->Size = System::Drawing::Size(72, 24);
			this->btnSearch->TabIndex = 0;
			this->btnSearch->Text = S"搜索";
			this->btnSearch->Click += new System::EventHandler(this, btnSearch_Click);
			// 
			// imageList1
			// 
			this->imageList1->ImageSize = System::Drawing::Size(16, 16);
			this->imageList1->ImageStream = (__try_cast<System::Windows::Forms::ImageListStreamer *  >(resources->GetObject(S"imageList1.ImageStream")));
			this->imageList1->TransparentColor = System::Drawing::Color::Transparent;
			// 
			// tBoxMaterialWord
			// 
			this->tBoxMaterialWord->Location = System::Drawing::Point(625, 40);
			this->tBoxMaterialWord->Name = S"tBoxMaterialWord";
			this->tBoxMaterialWord->Size = System::Drawing::Size(120, 21);
			this->tBoxMaterialWord->TabIndex = 6;
			this->tBoxMaterialWord->Text = S"";
			// 
			// label4
			// 
			this->label4->Location = System::Drawing::Point(559, 43);
			this->label4->Name = S"label4";
			this->label4->Size = System::Drawing::Size(56, 11);
			this->label4->TabIndex = 5;
			this->label4->Text = S"物料拼音";
			// 
			// SelectMaterials
			// 
			this->AutoScaleBaseSize = System::Drawing::Size(6, 14);
			this->ClientSize = System::Drawing::Size(760, 397);
			this->Controls->Add(this->dgrdMaterials);
			this->Controls->Add(this->groupBox1);
			this->Name = S"SelectMaterials";
			this->Text = S"选择材料";
			this->Closed += new System::EventHandler(this, SelectMaterials_Closed);
			(__try_cast<System::ComponentModel::ISupportInitialize *  >(this->dgrdMaterials))->EndInit();
			this->groupBox1->ResumeLayout(false);
			this->ResumeLayout(false);

		}		

		//-----------------------设置表格各列的属性-----------------------
		void DataGridStateControl()
		{

			DataGridTableStyle* ts = new DataGridTableStyle();			
			ts->MappingName = this->ds->Tables->Item[S"物料主文件"]->TableName;
			
			DataGridTextBoxColumn* aTextColumn;
			ts->AllowSorting = false;
			ts->AlternatingBackColor = Color::LightGray;
			int numCols = this->ds->Tables->Item[0]->Columns->Count;
			for(int i = 0;i < numCols;i++)
			{				
				aTextColumn = new DataGridNoActiveCellColumn();				
				aTextColumn->ReadOnly = true;
				aTextColumn->get_TextBox()->Enabled = false;
				aTextColumn->MappingName = this->ds->Tables->Item[0]->Columns->Item[i]->ColumnName;
				aTextColumn->HeaderText =  this->ds->Tables->Item[0]->Columns->Item[i]->ColumnName;
				aTextColumn->NullText = String::Empty;									
				//设为数字格式显示
				aTextColumn->Format = S"N";
				ts->GridColumnStyles->Add(aTextColumn);				
			}
			this->dgrdMaterials->TableStyles->Add(ts);
		}
private: System::Void btnSearch_Click(System::Object *  sender, System::EventArgs *  e)
		{
			 String* strMaterialID = this->tBoxMaterialID->Text->Trim();
			 String* strMaterialName = this->tBoxMaterialName->Text->Trim();
			 String* strMaterialWord = this->tBoxMaterialWord->Text->Trim();
			 String* Filter = S"";
			 if(String::Compare(strMaterialID,String::Empty) != 0)
			 {
				 Filter = String::Format(S"{0} AND (物料编号 LIKE '%{1}%')",Filter,strMaterialID);
			 }
			 if(String::Compare(strMaterialName,String::Empty) != 0)
			 {
				 Filter = String::Format(S"{0} AND (物料名称 LIKE '%{1}%')",Filter,strMaterialName);
			 }
			 if(String::Compare(strMaterialWord,String::Empty) != 0)
			 {
				 Filter = String::Format(S"{0} AND (拼音编码 LIKE '%{1}%')",Filter,strMaterialWord);
			 }

			 this->ds->Tables->Item[S"物料主文件"]->Clear();

			 if(String::Compare(Filter,String::Empty) != 0)
			 {
				 Filter = Filter->Substring(5,Filter->Length - 5);
				 //查询物料主文件				 
				 this->strSQL = String::Format(S"Select * from 物料主文件 where {0}",Filter);
				 this->strTableName = S"物料主文件";
				 this->MyDataBase->SelectDataBase(this->ds,this->strSQL,this->strTableName);           
			 }
			 else
			 {
				 //查询物料主文件
				 this->strSQL = S"Select * from 物料主文件";
				 this->strTableName = S"物料主文件";
				 this->MyDataBase->SelectDataBase(this->ds,this->strSQL,this->strTableName);            
			 }
		}

private: System::Void dgrdMaterials_DoubleClick(System::Object *  sender, System::EventArgs *  e)
		{
			int row = this->dgrdMaterials->CurrentRowIndex;
			this->SeletedMaterialID = this->ds->Tables->Item[S"物料主文件"]->Rows->Item[row]->Item[S"物料编号"]->ToString()->Trim();
			this->SeletedMaterialName = this->ds->Tables->Item[S"物料主文件"]->Rows->Item[row]->Item[S"物料名称"]->ToString()->Trim();
			this->DialogResult = DialogResult::OK;
		}

private: System::Void SelectMaterials_Closed(System::Object *  sender, System::EventArgs *  e)
		 {
		 }

};
}

⌨️ 快捷键说明

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