Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Data.SqlClient;
- using System.IO;
- namespace sales_inv_TCO0A
- {
- public partial class frmSearch : Form
- {
- public frmSearch()
- {
- InitializeComponent();
- }
- #region "variables"
- public DataSet myDataSet = new DataSet();
- private DataView dv = new DataView();
- public int myRowPosition = -1;
- #endregion
- #region "Private Variables"
- 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;
- }
- 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;
- }
- 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 SearchRecord()
- {
- switch (cboFilterOption1.SelectedIndex)
- {
- case 0: //equals
- {
- switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
- {
- case "System.String":
- SearchNow(cboField1.SelectedItem.ToString(), "='", txtSearchString1.Text + "'");
- break;
- case "System.Int32":
- case "System.Decimal":
- SearchNow(cboField1.SelectedItem.ToString(), "=", txtSearchString1.Text);
- break;
- case "System.DateTime":
- SearchNow(cboField1.SelectedItem.ToString(), "= #", txtSearchString1.Text + "#");
- break;
- }
- break;
- }
- case 1: //does not equal
- {
- switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
- {
- case "System.String":
- SearchNow(cboField1.SelectedItem.ToString(), "<>", txtSearchString1.Text);
- break;
- case "System.Int32":
- case "System.Decimal":
- SearchNow(cboField1.SelectedItem.ToString(), "<>", txtSearchString1.Text);
- break;
- case "System.DateTime":
- SearchNow(cboField1.SelectedItem.ToString(), "<> #", txtSearchString1.Text + "#");
- break;
- }
- break;
- }
- case 2: //is greater than
- {
- switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
- {
- case "System.String":
- SearchNow(cboField1.SelectedItem.ToString(), ">'", txtSearchString1.Text);
- break;
- case "System.Int32":
- case "System.Decimal":
- SearchNow(cboField1.SelectedItem.ToString(), ">", txtSearchString1.Text);
- break;
- case "System.DateTime":
- SearchNow(cboField1.SelectedItem.ToString(), ">#", txtSearchString1.Text + "#");
- break;
- }
- break;
- }
- case 3: //is greater than or equal to
- {
- switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
- {
- case "System.string":
- SearchNow(cboField1.SelectedItem.ToString(), ">='", txtSearchString1.Text + "'");
- break;
- case "System.Int32":
- case "System.Decimal":
- SearchNow(cboField1.SelectedItem.ToString(), ">=", txtSearchString1.Text);
- break;
- case "System.DateTime":
- SearchNow(cboField1.SelectedItem.ToString(), ">=#", txtSearchString1.Text + "#");
- break;
- }
- break;
- }
- case 4: //is less than
- {
- switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
- {
- case "System.String":
- SearchNow(cboField1.SelectedItem.ToString(), "<'", txtSearchString1.Text + "'");
- break;
- case "System.Int32":
- case "System.Decimal":
- SearchNow(cboField1.SelectedItem.ToString(), "<", txtSearchString1.Text);
- break;
- case "System.DateTime":
- SearchNow(cboField1.SelectedItem.ToString(), "<#", txtSearchString1.Text + "#");
- break;
- }
- break;
- }
- case 5: //is less than to
- {
- switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
- {
- case "System.String":
- SearchNow(cboField1.SelectedItem.ToString(), "<='", txtSearchString1.Text + "'");
- break;
- case "System.Int32":
- case "System.Decimal":
- SearchNow(cboField1.SelectedItem.ToString(), "<", txtSearchString1.Text);
- break;
- case "System.DateTime":
- SearchNow(cboField1.SelectedItem.ToString(), "<=#", txtSearchString1.Text + "#");
- break;
- }
- break;
- }
- case 6: //begins with
- if
- (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
- {
- SearchNow(cboField1.SelectedItem.ToString(), "LIKE'", txtSearchString1.Text + "%'");
- }
- else
- {
- MessageBox.Show(cboField1.SelectedItem + "IS NOT compatible with \"" + cboFilterOption1.SelectedItem + "\"");
- }
- break;
- case 7: // does no begin with
- if
- (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
- {
- SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE'", txtSearchString1.Text + "%'");
- break;
- }
- else
- {
- MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
- }
- break;
- case 8: //ends with
- if
- (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
- {
- SearchNow(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text + "'");
- }
- else
- {
- MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
- }
- break;
- case 9: // does not end with
- if
- (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
- {
- SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE '%", txtSearchString1.Text + "'");
- }
- {
- MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
- }
- break;
- case 10: //contains
- if
- (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
- {
- SearchNow(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text + "%'");
- }
- else
- {
- MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
- }
- break;
- case 11: //does not conatin
- if
- (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
- {
- SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE '%", txtSearchString1.Text + "%'");
- }
- else
- {
- MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
- }
- break;
- } //swtich
- }//private
- #endregion
- private void label1_Click(object sender, EventArgs e)
- {
- }
- private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
- }
- private void grdSearch_CellContentClick(object sender, DataGridViewCellEventArgs e)
- {
- }
- private void cboFilterOption1_SelectedIndexChanged(object sender, EventArgs e)
- {
- }
- private void frmSearch_Load(object sender, EventArgs e)
- {
- txtSearchString1.Clear();
- ListFilterOption();
- ListFields();
- if (!File.Exists(Application.StartupPath + @"Search.Text"))
- {
- File.WriteAllText(Application.StartupPath + @"Search.Text", "false");
- }
- using (StreamReader sr = File.OpenText(Application.StartupPath + @"Search.Text"))
- {
- string s = "'", result = "'";
- while ((s = sr.ReadLine()) != null)
- {
- result = s;
- }
- sr.Close();
- 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();
- }
- 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();
- }
- }
- else if
- (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == @"System.Byte[]")
- {
- MessageBox.Show(cboField1.SelectedIndex + " is not compatible with\"" + cboFilterOption1.SelectedItem + "\"");
- }
- else
- {
- 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].ToString() == "System.String")
- {
- SearchNow(myDataSet.Tables[0].ToString(), "LIKE", "'*'");
- }//end of string
- else if (myDataSet.Tables[0].Columns[0].ToString() == "System.DateTime")
- {
- SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "#1/1/1800");
- }//end of datetime
- }//end of else
- }
- 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 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 date time
- }
- }
- private void chkShowAll_CheckedChanged(object sender, EventArgs e)
- {
- }
- private void chkShowAll_Click(object sender, EventArgs e)
- {
- File.WriteAllText(Application.StartupPath + @"\search.txt", chkShowAll.Checked.ToString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement