0% found this document useful (0 votes)
45 views

Using Using Using Using Using Using Using Using Using Using Namespace Public Partial Class Public

This code defines a search form class in C# for searching a dataset. It includes private methods to populate dropdown lists of filter options and fields, perform single-field and dual-field searches on the dataset applying various filter conditions, and update the search results grid and record count label. The search methods apply the selected filter, field, and search text to a row filter on a data view bound to the results grid.

Uploaded by

Dense
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Using Using Using Using Using Using Using Using Using Using Namespace Public Partial Class Public

This code defines a search form class in C# for searching a dataset. It includes private methods to populate dropdown lists of filter options and fields, perform single-field and dual-field searches on the dataset applying various filter conditions, and update the search results grid and record count label. The search methods apply the selected filter, field, and search text to a row filter on a data view bound to the results grid.

Uploaded by

Dense
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 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)
{
}

You might also like