Você está na página 1de 23

using

using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
System.IO;
System.Data.SqlClient;

namespace SalesInvTC202
{
public partial class frmSearch : Form
{
public frmSearch()
{
InitializeComponent();
}
#region "Variables"
public DataSet myDataSet = new DataSet();
private DataView dv = new DataView();
public int myRowPosition = -1;
string filter, txtadd, field;
#endregion
#region Private Functions
private void ListFilterOption()
{
cboFilterOption1.Items.Clear();
cboFilterOption1.Items.Add("equals");
cboFilterOption1.Items.Add("does not equal");
cboFilterOption1.Items.Add("is greater than");
cboFilterOption1.Items.Add("is greater than or equal to");
cboFilterOption1.Items.Add("is less than");
cboFilterOption1.Items.Add("is less than or equal to");
cboFilterOption1.Items.Add("begins with");
cboFilterOption1.Items.Add("does not begin with");
cboFilterOption1.Items.Add("ends with");
cboFilterOption1.Items.Add("does not end with");
cboFilterOption1.Items.Add("contains");
cboFilterOption1.Items.Add("does not contain");
cboFilterOption1.SelectedIndex = 0;

cboFilterOption2.Items.Clear();
cboFilterOption2.Items.Add("equals");
cboFilterOption2.Items.Add("does not equal");
cboFilterOption2.Items.Add("is greater than");
cboFilterOption2.Items.Add("is greater than or equal to");
cboFilterOption2.Items.Add("is less than");
cboFilterOption2.Items.Add("is less than or equal to");
cboFilterOption2.Items.Add("begins with");
cboFilterOption2.Items.Add("does not begin with");
cboFilterOption2.Items.Add("ends with");

cboFilterOption2.Items.Add("does not end with");


cboFilterOption2.Items.Add("contains");
cboFilterOption2.Items.Add("does not contain");
cboFilterOption2.SelectedIndex = 0;
}
private void ListFields()
{
cboField1.Items.Clear();
for (int i = 0; i <=myDataSet.Tables[0].Columns.Count -1; i++)
{
cboField1.Items.Add(myDataSet.Tables[0].Columns[i].ColumnName.ToString());
}
cboField1.SelectedIndex = 0;
cboField2.Items.Clear();
for (int i = 0; i <= myDataSet.Tables[0].Columns.Count - 1; i++)
{
cboField2.Items.Add(myDataSet.Tables[0].Columns[i].ColumnName.ToString());
}
cboField2.SelectedIndex = 0;
}
private void RecordCount()
{
lblRecCount.Text = "Record Count: " + grdSearch.RowCount.ToString();
}
private void SearchNow(string fieldName, string filterOption, string searchText)
{
dv.Table = myDataSet.Tables[0];
dv.AllowEdit.Equals(false);
dv.AllowDelete.Equals(false);
dv.AllowNew.Equals(false);
try
{
dv.RowFilter = fieldName + " " + filterOption + searchText;
grdSearch.DataSource = dv;
grdSearch.Refresh();
}
catch (Exception msg)
{
grdSearch.DataSource = null;
MessageBox.Show(msg.Message);
}
RecordCount();
}
private void SearchNow2(string fieldName1, string fieldname2, string filterOption1, string
filterOption2, string searchText1, string searchText2)
{
dv.Table = myDataSet.Tables[0];
dv.AllowEdit.Equals(false);
dv.AllowDelete.Equals(false);
dv.AllowNew.Equals(false);
try
{

grdSearch.DataSource = dv;
grdSearch.Refresh();
if (rbnAnd.Checked)
{
if (txtSearchString2.Text != "")
{
dv.RowFilter = (fieldName1 + " " + filterOption1 + searchText1) + "AND " +
(fieldname2 + " " + filterOption2 + searchText2);
}
grdSearch.DataSource = dv;
grdSearch.Refresh();
}
if (rbnOr.Checked)
{
if (txtSearchString2.Text != "")
{
dv.RowFilter = (fieldName1 + " " + filterOption1 + searchText1) + "OR " +
(fieldname2 + " " + filterOption2 + searchText2);
}
grdSearch.DataSource = dv;
grdSearch.Refresh();
}
grdSearch.DataSource = dv;
grdSearch.Refresh();
}
catch (Exception msg)
{
grdSearch.DataSource = null;
MessageBox.Show(msg.Message);
}
}

RecordCount();

private void SearchRecord()


{
if (cboFilterOption1.SelectedIndex == 0)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "= '";
txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), "= '", txtSearchString1.Text + "'");
GetConstraint(cboField1.SelectedItem.ToString(), "= '", txtSearchString1.Text + "'");
}

else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
filter = "= ";
txtadd = txtSearchString1.Text;
SearchNow(cboField1.SelectedItem.ToString(), "= ", txtSearchString1.Text);
GetConstraint(cboField1.SelectedItem.ToString(), "= ", txtSearchString1.Text);
}
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
filter = "= #";
txtadd = txtSearchString1.Text + "#";
SearchNow(cboField1.SelectedItem.ToString(), "= #", txtSearchString1.Text + "#");
GetConstraint(cboField1.SelectedItem.ToString(), "= #", txtSearchString1.Text +
"#");
}
}
else if (cboFilterOption1.SelectedIndex == 1)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "<> '";
txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), "<> '", txtSearchString1.Text + "'");
GetConstraint(cboField1.SelectedItem.ToString(), "<> '", txtSearchString1.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
filter = "<> ";
txtadd = txtSearchString1.Text;
SearchNow(cboField1.SelectedItem.ToString(), "<> ", txtSearchString1.Text);
GetConstraint(cboField1.SelectedItem.ToString(), "<> ", txtSearchString1.Text);
}
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
filter = "<> #";
txtadd = txtSearchString1.Text + "#";
SearchNow(cboField1.SelectedItem.ToString(), "<> #", txtSearchString1.Text + "#");
GetConstraint(cboField1.SelectedItem.ToString(), "<> #", txtSearchString1.Text +
"#");
}
}
else if (cboFilterOption1.SelectedIndex == 2)
{

if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "> '";
txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), "> '", txtSearchString1.Text + "'");
GetConstraint(cboField1.SelectedItem.ToString(), "> '", txtSearchString1.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
filter = "> ";
txtadd = txtSearchString1.Text;
SearchNow(cboField1.SelectedItem.ToString(), "> ", txtSearchString1.Text);
GetConstraint(cboField1.SelectedItem.ToString(), "> ", txtSearchString1.Text);
}
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
filter = "> #";
txtadd = txtSearchString1.Text + "#";
SearchNow(cboField1.SelectedItem.ToString(), "> #", txtSearchString1.Text + "#");
GetConstraint(cboField1.SelectedItem.ToString(), "> #", txtSearchString1.Text +
"#");
}
}
else if (cboFilterOption1.SelectedIndex == 3)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = ">= '";
txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), ">= '", txtSearchString1.Text + "'");
GetConstraint(cboField1.SelectedItem.ToString(), ">= '", txtSearchString1.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
filter = ">= ";
txtadd = txtSearchString1.Text;
SearchNow(cboField1.SelectedItem.ToString(), ">= ", txtSearchString1.Text);
GetConstraint(cboField1.SelectedItem.ToString(), ">= ", txtSearchString1.Text);
}
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
filter = ">= #";
txtadd = txtSearchString1.Text + "#";

SearchNow(cboField1.SelectedItem.ToString(), ">= #", txtSearchString1.Text + "#");


GetConstraint(cboField1.SelectedItem.ToString(), ">= #", txtSearchString1.Text +
"#");

}
}

else if (cboFilterOption1.SelectedIndex == 4)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "< '";
txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), "< '", txtSearchString1.Text + "'");
GetConstraint(cboField1.SelectedItem.ToString(), "< '", txtSearchString1.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
filter = "< ";
txtadd = txtSearchString1.Text;
SearchNow(cboField1.SelectedItem.ToString(), "< ", txtSearchString1.Text);
GetConstraint(cboField1.SelectedItem.ToString(), "< ", txtSearchString1.Text);
}
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
filter = "< #";
txtadd = txtSearchString1.Text + "#";
SearchNow(cboField1.SelectedItem.ToString(), "< #", txtSearchString1.Text + "#");
GetConstraint(cboField1.SelectedItem.ToString(), "< #", txtSearchString1.Text +
"#");
}
}
else if (cboFilterOption1.SelectedIndex == 5)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "<= '";
txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), "<= '", txtSearchString1.Text + "'");
GetConstraint(cboField1.SelectedItem.ToString(), "<= '", txtSearchString1.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
filter = "<= ";
txtadd = txtSearchString1.Text;

SearchNow(cboField1.SelectedItem.ToString(), "<= ", txtSearchString1.Text);


GetConstraint(cboField1.SelectedItem.ToString(), "<= ", txtSearchString1.Text);
}
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
filter = "<= #";
txtadd = txtSearchString1.Text + "#";
SearchNow(cboField1.SelectedItem.ToString(), "<= #", txtSearchString1.Text + "#");
GetConstraint(cboField1.SelectedItem.ToString(), "<= #", txtSearchString1.Text +
"#");
}
}
else if (cboFilterOption1.SelectedIndex == 6)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "LIKE '";
txtadd = txtSearchString1.Text + "%'";
SearchNow(cboField1.SelectedItem.ToString(), "LIKE '", txtSearchString1.Text + "%'");
GetConstraint(cboField1.SelectedItem.ToString(), "LIKE '", txtSearchString1.Text +
"%'");
}
else
{
MessageBox.Show(cboField1.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
}
}
else if (cboFilterOption1.SelectedIndex == 7)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "NOT LIKE '";
txtadd = txtSearchString1.Text + "%'";
SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE '", txtSearchString1.Text +
"%'");
GetConstraint(cboField1.SelectedItem.ToString(), "NOT LIKE '", txtSearchString1.Text
+ "%'");
}
else
{
MessageBox.Show(cboField1.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
}
}
else if (cboFilterOption1.SelectedIndex == 8)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{

filter = "LIKE '%";


txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text + "'");
GetConstraint(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text +
"'");

}
else
{
MessageBox.Show(cboField1.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
}
}
else if (cboFilterOption1.SelectedIndex == 9)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "NOT LIKE '%";
txtadd = txtSearchString1.Text + "'";
SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE '%", txtSearchString1.Text
+ "'");
GetConstraint(cboField1.SelectedItem.ToString(), "NOT LIKE '%",
txtSearchString1.Text + "'");
}
else
{
MessageBox.Show(cboField1.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
}
}
else if (cboFilterOption1.SelectedIndex == 10)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "LIKE '%";
txtadd = txtSearchString1.Text + "%'";
SearchNow(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text +
"%'");
GetConstraint(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text +
"%'");
}
else
{
MessageBox.Show(cboField1.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
}
}
else if (cboFilterOption1.SelectedIndex == 11)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
filter = "NOT LIKE '%";
txtadd = txtSearchString1.Text + "%'";

SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE '%", txtSearchString1.Text

+ "%'");

GetConstraint(cboField1.SelectedItem.ToString(), "NOT LIKE '%",


txtSearchString1.Text + "%'");
}
else
{
MessageBox.Show(cboField1.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
}
}
if ((rbnAnd.Checked || rbnOr.Checked) && txtSearchString2.Text != "")
{
SearchRecord2();
}
}
private void SearchRecord2()
{
if (cboFilterOption2.SelectedIndex == 0)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "= '", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "= '", txtadd, txtSearchString2.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "= ", txtadd, txtSearchString2.Text);
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "= ", txtadd, txtSearchString2.Text);
}
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "= #", txtadd, txtSearchString2.Text + "#");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "= #", txtadd, txtSearchString2.Text + "#");

}
}
else if (cboFilterOption2.SelectedIndex == 1)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "<> '", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "<> '", txtadd, txtSearchString2.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "<> ", txtadd, txtSearchString2.Text);
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "<> ", txtadd, txtSearchString2.Text);
}
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "<> #", txtadd, txtSearchString2.Text + "#");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "<> #", txtadd, txtSearchString2.Text + "#");
}
}
else if (cboFilterOption2.SelectedIndex == 2)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "> '", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "> '", txtadd, txtSearchString2.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Decimal"))

SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "> ", txtadd, txtSearchString2.Text);
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "> ", txtadd, txtSearchString2.Text);
}
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "> #", txtadd, txtSearchString2.Text + "#");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "> #", txtadd, txtSearchString2.Text + "#");
}

else if (cboFilterOption2.SelectedIndex == 3)
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, ">= '", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, ">= '", txtadd, txtSearchString2.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, ">= ", txtadd, txtSearchString2.Text);
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, ">= ", txtadd, txtSearchString2.Text);
}
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, ">= #", txtadd, txtSearchString2.Text + "#");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, ">= #", txtadd, txtSearchString2.Text + "#");
}

}
else if (cboFilterOption2.SelectedIndex == 4)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "< '", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "< '", txtadd, txtSearchString2.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString()
== "System.Int32") ||
(myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "< ", txtadd, txtSearchString2.Text);
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "< ", txtadd, txtSearchString2.Text);
}
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "< #", txtadd, txtSearchString2.Text + "#");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "< #", txtadd, txtSearchString2.Text + "#");
}
}

else if (cboFilterOption2.SelectedIndex == 5)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "<= '", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "<= '", txtadd, txtSearchString2.Text + "'");
}
else if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString()
== "System.Int32") ||

(myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "<= ", txtadd, txtSearchString2.Text);
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "<= ", txtadd, txtSearchString2.Text);
}
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "<= #", txtadd, txtSearchString2.Text + "#");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "<= #", txtadd, txtSearchString2.Text + "#");
}

else if (cboFilterOption2.SelectedIndex == 6)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "LIKE '", txtadd, txtSearchString2.Text + "%'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "LIKE '", txtadd, txtSearchString2.Text + "%'");
}
else
{
MessageBox.Show(cboField2.SelectedItem + " is not compatible with \"" +
cboFilterOption2.SelectedItem + "\"");
}
}
else if (cboFilterOption2.SelectedIndex == 7)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "NOT LIKE '", txtadd, txtSearchString2.Text + "%'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "NOT LIKE '", txtadd, txtSearchString2.Text + "%'");
}
else
{
MessageBox.Show(cboField2.SelectedItem + " is not compatible with \"" +
cboFilterOption2.SelectedItem + "\"");

else if (cboFilterOption2.SelectedIndex == 8)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "LIKE '%", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "LIKE '%", txtadd, txtSearchString2.Text + "'");
}
else
{
MessageBox.Show(cboField2.SelectedItem + " is not compatible with \"" +
cboFilterOption2.SelectedItem + "\"");
}
}
else if (cboFilterOption2.SelectedIndex == 9)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "NOT LIKE '%", txtadd, txtSearchString2.Text + "'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "NOT LIKE '%", txtadd, txtSearchString2.Text + "'");
}
else
{
MessageBox.Show(cboField2.SelectedItem + " is not compatible with \"" +
cboFilterOption2.SelectedItem + "\"");
}
}
else if (cboFilterOption2.SelectedIndex == 10)
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "LIKE '%", txtadd, txtSearchString2.Text + "%'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "LIKE '%", txtadd, txtSearchString2.Text + "%'");
}
else
{
MessageBox.Show(cboField2.SelectedItem + " is not compatible with \"" +
cboFilterOption2.SelectedItem + "\"");

else if (cboFilterOption2.SelectedIndex == 11)


{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
SearchNow2(cboField1.SelectedItem.ToString(), cboField2.SelectedItem.ToString(),
filter, "NOT LIKE '%", txtadd, txtSearchString2.Text + "%'");
GetDoubleConstraint(cboField1.SelectedItem.ToString(),
cboField2.SelectedItem.ToString(),
filter, "NOT LIKE '%", txtadd, txtSearchString2.Text + "%'");
}
else
{
MessageBox.Show(cboField2.SelectedItem + " is not compatible with \"" +
cboFilterOption2.SelectedItem + "\"");
}
}
}
#endregion
private void frmSearch_Load(object sender, EventArgs e)
{
cboField2.Enabled = false;
cboFilterOption2.Enabled = false;
txtSearchString2.Enabled = false;
txtSearchString1.Clear();
txtSearchString2.Clear();
ListFilterOption();
ListFields();
{
if (stcSalesInv.frmName == "SalesOrder")
{
btnPrint.Enabled = false;
}
if (!File.Exists(Application.StartupPath + @"\search.txt"))
{
File.WriteAllText(Application.StartupPath + @"\search.txt", "false");
}
using (StreamReader sr = File.OpenText(Application.StartupPath + @"\search.txt"))
{
string s = "", result = "";
while ((s = sr.ReadLine()) != null)
{
result = s;
}
chkShowAll.Checked = Convert.ToBoolean(result);

}
if (chkShowAll.Checked == true)
{
if (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Int32")
{

SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "0");


}
else
{
SearchNow(myDataSet.Tables[0].Columns[0].ToString(), "LIKE", "'*'");
}
}
else
{ //clear the data source
grdSearch.DataSource = null;
}
RecordCount();
}
btnPrint.Image = Properties.Resources.printer.ToBitmap();
}
private void txtSearchString1_TextChanged(object sender, EventArgs e)
{
if (txtSearchString1.Text != "")
{
if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
if (txtSearchString1.Text.Length > 7)
{
SearchRecord();
} //end of length > 5
} //end of datetime
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
@"System.Byte[]")
{
MessageBox.Show(cboField1.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
} //end of system.btye
else
{
SearchRecord();
} //end of else
} //end of txtsearchstring
else
{
if ((myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Int32") ||
(myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Decimal"))
{
SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "0");
} //end of decimal
else if (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.String")
{
SearchNow(myDataSet.Tables[0].Columns[0].ToString(), "LIKE", "'*'");
} //end of string
else if (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.DateTime")
{
SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "#1/1/1800#");
}
//end of datetime
} //end of elseD
}

private void grdSearch_CellDoubleClick(object sender, DataGridViewCellEventArgs e)


{
object primaryKey;
if (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Int32")
{
primaryKey = Convert.ToInt32(grdSearch.CurrentRow.Cells[0].Value.ToString());
}
else
{
primaryKey = Convert.ToString(grdSearch.CurrentRow.Cells[0].Value.ToString());
}
for (int ctr = 0; ctr <= myDataSet.Tables[0].Rows.Count - 1; ctr++)
{
if (myDataSet.Tables[0].Rows[ctr][0].ToString() == primaryKey.ToString())
{
myRowPosition = ctr;
break;
}
}
this.Close();
}
private void cboField1_SelectedIndexChanged(object sender, EventArgs e)
{
if (txtSearchString1.Text != "")
{
SearchRecord();
}
}
private void cboFilterOption1_SelectedIndexChanged(object sender, EventArgs e)
{
if (txtSearchString1.Text != "")
{
SearchRecord();
}
}
private void txtSearchString1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Int32"))
{
byte num = Convert.ToByte(e.KeyChar);
if ((num >= 48 && num <= 57) || (num == 8))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
} //end of int32
else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
byte num = Convert.ToByte(e.KeyChar);

if ((num >= 48 && num <= 57) || (num == 8) || (num == 46))


{
if (num == 46)
{
if (txtSearchString1.Text.IndexOf(".", 0) != -1)
{
e.Handled = true;
}
}
else
{
e.Handled = false;
}
}
else
{
e.Handled = true;
}
}//end of decimal
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.String")
{
byte num = Convert.ToByte(e.KeyChar);
if (cboField1.SelectedItem.ToString() == "TelNo")
{
if ((num >= 48 && num <= 57) || (num == 8))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}
else
{
e.Handled = false;
}
} //end of string
else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
byte num = Convert.ToByte(e.KeyChar);
if ((num >= 48 && num <= 57) || (num == 8) || (num == 47))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
} //end of datetime
}

private void chkShowAll_Click(object sender, EventArgs e)


{

File.WriteAllText(Application.StartupPath + @"\search.txt",
chkShowAll.Checked.ToString());
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void txtSearchString2_TextChanged(object sender, EventArgs e)
{
if (txtSearchString2.Text != "")
{
if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
if (txtSearchString2.Text.Length > 7)
{
SearchRecord2();
} //end of length > 5
} //end of datetime
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
@"System.Byte[]")
{
MessageBox.Show(cboField2.SelectedItem + " is not compatible with \"" +
cboFilterOption1.SelectedItem + "\"");
} //end of system.btye
else
{
SearchRecord2();
}

//end of else
} //end of txtsearchstring
else if (txtSearchString1.Text != "")
{
SearchRecord();
}
//else
//{
// if ((myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Int32") ||
// (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Decimal"))
// {
//
SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "0");
// } //end of decimal
// else if (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.String")
// {
//
SearchNow(myDataSet.Tables[0].Columns[0].ToString(), "LIKE", "'*'");
// } //end of string
// else if (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.DateTime")
// {
//
SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "#1/1/1800#");
// } //end of datetime
//} //end of else

private void cboField2_SelectedIndexChanged(object sender, EventArgs e)

if (txtSearchString2.Text != "")
{
SearchRecord2();
}

private void cboFilterOption2_SelectedIndexChanged(object sender, EventArgs e)


{
if (txtSearchString2.Text != "")
{
SearchRecord2();
}
}
private void txtSearchString2_KeyPress(object sender, KeyPressEventArgs e)
{
if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Int32"))
{
byte num = Convert.ToByte(e.KeyChar);
if ((num >= 48 && num <= 57) || (num == 8))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
} //end of int32
else if ((myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.Decimal"))
{
byte num = Convert.ToByte(e.KeyChar);
if ((num >= 48 && num <= 57) || (num == 8) || (num == 46))
{
if (num == 46)
{
if (txtSearchString1.Text.IndexOf(".", 0) != -1)
{
e.Handled = true;
}
}
else
{
e.Handled = false;
}
}
else
{
e.Handled = true;
}
}//end of decimal
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.String")
{
byte num = Convert.ToByte(e.KeyChar);
if (cboField2.SelectedItem.ToString() == "TelNo")

if ((num >= 48 && num <= 57) || (num == 8))


{
e.Handled = false;
}
else
{
e.Handled = true;
}

}
else
{
e.Handled = false;
}
} //end of string
else if (myDataSet.Tables[0].Columns[cboField2.SelectedIndex].DataType.ToString() ==
"System.DateTime")
{
byte num = Convert.ToByte(e.KeyChar);
if ((num >= 48 && num <= 57) || (num == 8) || (num == 47))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
} //end of datetime
}
private void rbnAnd_CheckedChanged(object sender, EventArgs e)
{
cboField2.Enabled = true;
cboFilterOption2.Enabled = true;
txtSearchString2.Enabled = true;
if (txtSearchString2.Text != "" && txtSearchString1.Text != "")
{
SearchRecord2();
}
}
private void rbnOr_CheckedChanged(object sender, EventArgs e)
{
cboField2.Enabled = true;
cboFilterOption2.Enabled = true;
txtSearchString2.Enabled = true;

if (txtSearchString2.Text != "" && txtSearchString1.Text != "")


{
SearchRecord2();
}

private void btnPrint_Click(object sender, EventArgs e)


{
if (grdSearch.Rows.Count == 0)

field = cboField1.SelectedItem.ToString();
txtadd = " 0 ";
filter = "= ";
GetConstraint(field, filter, txtadd);
if (stcSalesInv.frmName == "Customer")
{
frmCustomerList nf = new frmCustomerList();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Product")
{
frmProductList nf = new frmProductList();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Supplier")
{
frmSupplierList nf = new frmSupplierList();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Orders2")
{
frmReceipt nf = new frmReceipt();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Users2")
{
frmReceipt nf = new frmReceipt();
nf.ShowDialog();
}

}
else
{
if (stcSalesInv.frmName == "Customer")
{
frmCustomerList nf = new frmCustomerList();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Product")
{
frmProductList nf = new frmProductList();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Supplier")
{
frmSupplierList nf = new frmSupplierList();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Orders2")
{
frmReceipt nf = new frmReceipt();
nf.ShowDialog();
}
else if (stcSalesInv.frmName == "Users2")
{
frmUserList nf = new frmUserList();
nf.ShowDialog();

}
private void frmSearch_FormClosed(object sender, FormClosedEventArgs e)
{
stcSalesInv.constraint = "";
rbnAnd.Checked = false;
rbnOr.Checked = false;
}
public void GetConstraint(string fieldname, string filterOption, string searchText)
{
string constraint;
constraint = "WHERE " + fieldname + " " + filterOption + searchText;
stcSalesInv.constraint = constraint;
}

public void GetDoubleConstraint(string fieldname1, string fieldname2, string filterOption1,


string filterOption2, string searchText1, string searchText2)
{
string constraint = "";
if (rbnAnd.Checked)
{
constraint = "WHERE "
(fieldname2 + " " + filterOption2
}
else if (rbnOr.Checked)
{
constraint = "WHERE "
(fieldname2 + " " + filterOption2
}

+ (fieldname1 + " " + filterOption1 + searchText1) + "AND " +


+ searchText2);

+ (fieldname1 + " " + filterOption1 + searchText1) + "OR " +


+ searchText2);

stcSalesInv.constraint = constraint;
}
private void chkShowAll_CheckedChanged(object sender, EventArgs e)
{
}

Você também pode gostar