Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.15 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.SqlClient;
  10. using System.IO;
  11.  
  12. namespace sales_inv_TCO0A
  13. {
  14. public partial class frmSearch : Form
  15. {
  16. public frmSearch()
  17. {
  18. InitializeComponent();
  19. }
  20. #region "variables"
  21.  
  22. public DataSet myDataSet = new DataSet();
  23. private DataView dv = new DataView();
  24. public int myRowPosition = -1;
  25. #endregion
  26.  
  27. #region "Private Variables"
  28. private void ListFilterOption()
  29. {
  30. cboFilterOption1.Items.Clear();
  31. cboFilterOption1.Items.Add("equals");
  32. cboFilterOption1.Items.Add("does not equal");
  33.  
  34. cboFilterOption1.Items.Add("is greater than");
  35. cboFilterOption1.Items.Add("is greater than or equal to");
  36.  
  37. cboFilterOption1.Items.Add("is less than");
  38. cboFilterOption1.Items.Add("is less than or equal to");
  39.  
  40. cboFilterOption1.Items.Add("begins with");
  41. cboFilterOption1.Items.Add("does not begin with");
  42.  
  43. cboFilterOption1.Items.Add("ends with");
  44. cboFilterOption1.Items.Add("does not end with");
  45.  
  46. cboFilterOption1.Items.Add("contains");
  47. cboFilterOption1.Items.Add("does not contain");
  48.  
  49. cboFilterOption1.SelectedIndex = 0;
  50.  
  51.  
  52. }
  53. private void ListFields()
  54. {
  55. cboField1.Items.Clear();
  56.  
  57. for (int i = 0; i <= myDataSet.Tables[0].Columns.Count - 1; i++)
  58. {
  59. cboField1.Items.Add(myDataSet.Tables[0].Columns[i].ColumnName.ToString());
  60. }
  61. cboField1.SelectedIndex = 0;
  62.  
  63. }
  64. private void RecordCount()
  65. {
  66. lblRecCount.Text = "Record Count: " +
  67. grdSearch.RowCount.ToString();
  68. }
  69. private void SearchNow(string fieldName, string filterOption, string SearchText)
  70. {
  71. dv.Table = myDataSet.Tables[0];
  72. dv.AllowEdit.Equals(false);
  73. dv.AllowDelete.Equals(false);
  74. dv.AllowNew.Equals(false);
  75. try
  76. {
  77. dv.RowFilter = fieldName + " " + filterOption + SearchText;
  78. grdSearch.DataSource = dv;
  79. grdSearch.Refresh();
  80.  
  81. }
  82. catch (Exception msg)
  83. {
  84. grdSearch.DataSource = null;
  85. MessageBox.Show(msg.Message);
  86. }
  87. RecordCount();
  88.  
  89. }
  90. private void SearchRecord()
  91. {
  92. switch (cboFilterOption1.SelectedIndex)
  93. {
  94. case 0: //equals
  95. {
  96. switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
  97. {
  98. case "System.String":
  99. SearchNow(cboField1.SelectedItem.ToString(), "='", txtSearchString1.Text + "'");
  100. break;
  101. case "System.Int32":
  102. case "System.Decimal":
  103. SearchNow(cboField1.SelectedItem.ToString(), "=", txtSearchString1.Text);
  104. break;
  105. case "System.DateTime":
  106. SearchNow(cboField1.SelectedItem.ToString(), "= #", txtSearchString1.Text + "#");
  107. break;
  108. }
  109. break;
  110. }
  111.  
  112. case 1: //does not equal
  113. {
  114. switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
  115. {
  116. case "System.String":
  117. SearchNow(cboField1.SelectedItem.ToString(), "<>", txtSearchString1.Text);
  118. break;
  119. case "System.Int32":
  120. case "System.Decimal":
  121. SearchNow(cboField1.SelectedItem.ToString(), "<>", txtSearchString1.Text);
  122. break;
  123. case "System.DateTime":
  124. SearchNow(cboField1.SelectedItem.ToString(), "<> #", txtSearchString1.Text + "#");
  125. break;
  126.  
  127. }
  128. break;
  129. }
  130.  
  131. case 2: //is greater than
  132. {
  133. switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
  134. {
  135. case "System.String":
  136. SearchNow(cboField1.SelectedItem.ToString(), ">'", txtSearchString1.Text);
  137. break;
  138. case "System.Int32":
  139. case "System.Decimal":
  140. SearchNow(cboField1.SelectedItem.ToString(), ">", txtSearchString1.Text);
  141. break;
  142. case "System.DateTime":
  143. SearchNow(cboField1.SelectedItem.ToString(), ">#", txtSearchString1.Text + "#");
  144. break;
  145. }
  146. break;
  147. }
  148. case 3: //is greater than or equal to
  149. {
  150. switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
  151. {
  152. case "System.string":
  153. SearchNow(cboField1.SelectedItem.ToString(), ">='", txtSearchString1.Text + "'");
  154. break;
  155. case "System.Int32":
  156. case "System.Decimal":
  157. SearchNow(cboField1.SelectedItem.ToString(), ">=", txtSearchString1.Text);
  158. break;
  159.  
  160. case "System.DateTime":
  161. SearchNow(cboField1.SelectedItem.ToString(), ">=#", txtSearchString1.Text + "#");
  162. break;
  163.  
  164. }
  165. break;
  166. }
  167.  
  168. case 4: //is less than
  169. {
  170. switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
  171. {
  172. case "System.String":
  173. SearchNow(cboField1.SelectedItem.ToString(), "<'", txtSearchString1.Text + "'");
  174. break;
  175. case "System.Int32":
  176. case "System.Decimal":
  177. SearchNow(cboField1.SelectedItem.ToString(), "<", txtSearchString1.Text);
  178. break;
  179. case "System.DateTime":
  180. SearchNow(cboField1.SelectedItem.ToString(), "<#", txtSearchString1.Text + "#");
  181. break;
  182.  
  183. }
  184. break;
  185. }
  186. case 5: //is less than to
  187. {
  188. switch (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString())
  189. {
  190. case "System.String":
  191. SearchNow(cboField1.SelectedItem.ToString(), "<='", txtSearchString1.Text + "'");
  192. break;
  193. case "System.Int32":
  194. case "System.Decimal":
  195. SearchNow(cboField1.SelectedItem.ToString(), "<", txtSearchString1.Text);
  196. break;
  197. case "System.DateTime":
  198. SearchNow(cboField1.SelectedItem.ToString(), "<=#", txtSearchString1.Text + "#");
  199. break;
  200. }
  201. break;
  202. }
  203. case 6: //begins with
  204. if
  205. (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
  206. {
  207.  
  208.  
  209. SearchNow(cboField1.SelectedItem.ToString(), "LIKE'", txtSearchString1.Text + "%'");
  210. }
  211. else
  212. {
  213. MessageBox.Show(cboField1.SelectedItem + "IS NOT compatible with \"" + cboFilterOption1.SelectedItem + "\"");
  214.  
  215. }
  216. break;
  217.  
  218. case 7: // does no begin with
  219. if
  220. (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
  221. {
  222.  
  223. SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE'", txtSearchString1.Text + "%'");
  224. break;
  225. }
  226. else
  227. {
  228. MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
  229. }
  230. break;
  231.  
  232. case 8: //ends with
  233. if
  234. (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
  235. {
  236. SearchNow(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text + "'");
  237. }
  238. else
  239. {
  240. MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
  241. }
  242. break;
  243.  
  244. case 9: // does not end with
  245. if
  246. (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
  247. {
  248. SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE '%", txtSearchString1.Text + "'");
  249. }
  250. {
  251. MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
  252. }
  253.  
  254. break;
  255.  
  256. case 10: //contains
  257. if
  258. (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
  259. {
  260. SearchNow(cboField1.SelectedItem.ToString(), "LIKE '%", txtSearchString1.Text + "%'");
  261. }
  262. else
  263. {
  264. MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
  265. }
  266. break;
  267.  
  268. case 11: //does not conatin
  269. if
  270. (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
  271. {
  272.  
  273. SearchNow(cboField1.SelectedItem.ToString(), "NOT LIKE '%", txtSearchString1.Text + "%'");
  274. }
  275. else
  276. {
  277. MessageBox.Show(cboField1.SelectedItem + "is not compatible with \"" + cboFilterOption1.SelectedItem + "\"");
  278. }
  279. break;
  280.  
  281. } //swtich
  282. }//private
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290. #endregion
  291.  
  292. private void label1_Click(object sender, EventArgs e)
  293. {
  294.  
  295. }
  296.  
  297. private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  298. {
  299.  
  300. }
  301.  
  302. private void grdSearch_CellContentClick(object sender, DataGridViewCellEventArgs e)
  303. {
  304.  
  305. }
  306.  
  307. private void cboFilterOption1_SelectedIndexChanged(object sender, EventArgs e)
  308. {
  309.  
  310. }
  311.  
  312. private void frmSearch_Load(object sender, EventArgs e)
  313. {
  314. txtSearchString1.Clear();
  315. ListFilterOption();
  316. ListFields();
  317. if (!File.Exists(Application.StartupPath + @"Search.Text"))
  318. {
  319. File.WriteAllText(Application.StartupPath + @"Search.Text", "false");
  320.  
  321. }
  322. using (StreamReader sr = File.OpenText(Application.StartupPath + @"Search.Text"))
  323. {
  324. string s = "'", result = "'";
  325. while ((s = sr.ReadLine()) != null)
  326. {
  327. result = s;
  328. }
  329. sr.Close();
  330. chkShowAll.Checked = Convert.ToBoolean(result);
  331. }
  332. if (chkShowAll.Checked == true)
  333. {
  334. if (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Int32")
  335. {
  336. SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "0");
  337. }
  338. else
  339. {
  340. SearchNow(myDataSet.Tables[0].Columns[0].ToString(), "LIKE", "'*'");
  341. }
  342. }
  343.  
  344.  
  345. else
  346. {//clear the data source
  347. grdSearch.DataSource = null;
  348. }
  349. RecordCount();
  350. }
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358. private void txtSearchString1_TextChanged(object sender, EventArgs e)
  359. {
  360. if (txtSearchString1.Text != "")
  361. {
  362. if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.DateTime")
  363. {
  364. if (txtSearchString1.Text.Length > 7)
  365. {
  366. SearchRecord();
  367. }
  368. }
  369. else if
  370. (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == @"System.Byte[]")
  371. {
  372. MessageBox.Show(cboField1.SelectedIndex + " is not compatible with\"" + cboFilterOption1.SelectedItem + "\"");
  373.  
  374. }
  375. else
  376. {
  377. SearchRecord();
  378. }
  379. }
  380. else
  381. {
  382. if ((myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Int32") ||
  383. (myDataSet.Tables[0].Columns[0].DataType.ToString() == "System.Decimal"))
  384. {
  385. SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "0");
  386. }//end of decimal
  387. else if (myDataSet.Tables[0].Columns[0].ToString() == "System.String")
  388. {
  389. SearchNow(myDataSet.Tables[0].ToString(), "LIKE", "'*'");
  390.  
  391. }//end of string
  392.  
  393. else if (myDataSet.Tables[0].Columns[0].ToString() == "System.DateTime")
  394. {
  395. SearchNow(myDataSet.Tables[0].Columns[0].ToString(), ">", "#1/1/1800");
  396. }//end of datetime
  397. }//end of else
  398.  
  399. }
  400.  
  401. private void grdSearch_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  402. {
  403. object primaryKey;
  404.  
  405. if (myDataSet.Tables[0].Columns[0].DataType.ToString()=="System.Int32")
  406. {
  407. primaryKey = Convert.ToInt32(grdSearch.CurrentRow.Cells[0].Value.ToString());
  408.  
  409. }
  410. else
  411. {
  412. primaryKey = Convert.ToString(grdSearch.CurrentRow.Cells[0].Value.ToString());
  413. }
  414. for (int ctr = 0; ctr <= myDataSet.Tables[0].Rows.Count - 1; ctr++)
  415. {
  416. if (myDataSet.Tables[0].Rows[ctr][0].ToString() == primaryKey.ToString())
  417. {
  418. myRowPosition = ctr;
  419. break;
  420. }
  421. }
  422. this.Close();
  423.  
  424. }
  425.  
  426. private void cboField1_SelectedIndexChanged(object sender, EventArgs e)
  427. {
  428. if
  429. (txtSearchString1.Text!= "")
  430. {
  431. SearchRecord();
  432. }
  433. }
  434.  
  435. private void txtSearchString1_KeyPress(object sender, KeyPressEventArgs e)
  436. {
  437. if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.Int32"))
  438. {
  439. byte num = Convert.ToByte(e.KeyChar);
  440.  
  441. if ((num >= 48 && num <= 57 || (num == 8)))
  442. {
  443. e.Handled = false;
  444. }
  445. else
  446. {
  447. e.Handled = true;
  448. }
  449. }//end of int32
  450. else if ((myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.Decimal"))
  451. {
  452. byte num = Convert.ToByte(e.KeyChar);
  453. if ((num >= 48 && num <= 57) || (num == 8) || (num == 46))
  454. {
  455. if (num == 46)
  456. {
  457. if (txtSearchString1.Text.IndexOf(".", 0) != -1)
  458. {
  459. e.Handled = true;
  460. }
  461.  
  462. }
  463. else
  464. {
  465. e.Handled = false;
  466. }
  467. }
  468. else
  469. {
  470. e.Handled = true;
  471. }//end of decimal
  472. }
  473. else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString() == "System.String")
  474. {
  475. byte num = Convert.ToByte(e.KeyChar);
  476. if (cboField1.SelectedItem.ToString() == "TelNo")
  477. {
  478. if ((num >= 48 && num <= 57) || (num == 8))
  479. {
  480. e.Handled = false;
  481.  
  482. }
  483. else
  484. {
  485. e.Handled = true;
  486. }
  487. }
  488. else
  489. {
  490. e.Handled = false;
  491. }
  492. } //end of string
  493. else if (myDataSet.Tables[0].Columns[cboField1.SelectedIndex].DataType.ToString()== "System.DateTime")
  494. {
  495. byte num = Convert.ToByte(e.KeyChar);
  496.  
  497. if ((num >= 48 && num <= 57) || (num == 8) || (num == 47))
  498. {
  499. e.Handled = false;
  500. }
  501. else
  502. {
  503. e.Handled = true;
  504. }//end of date time
  505. }
  506.  
  507. }
  508.  
  509. private void chkShowAll_CheckedChanged(object sender, EventArgs e)
  510. {
  511.  
  512. }
  513.  
  514. private void chkShowAll_Click(object sender, EventArgs e)
  515. {
  516. File.WriteAllText(Application.StartupPath + @"\search.txt", chkShowAll.Checked.ToString());
  517. }
  518. }
  519. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement