📄 selectmaterials.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 + -