Beispiel #1
0
        private void mtxtFind_TextChanged(object sender, EventArgs e)
        {
            if (grdMain.Rows.Count < 1)
            {
                return;
            }

            int curcell = grdMain.CurrentCell.OwningColumn.Index;

            if (mtxtFind.TextBox.Text == "")
            {
                grdMain.CurrentCell = grdMain.Rows[0].Cells[curcell];
                return;
            }

            string fnd = mtxtFind.TextBox.Text;

            if ((grdMain.Columns[grdMain.CurrentCell.ColumnIndex].Name == "StartDateTime") ||
                (grdMain.Columns[grdMain.CurrentCell.ColumnIndex].Name == "NextDateTime"))
            {
                fnd = fnd.Replace(' ', '/').Replace('.', '/').Replace(':', '/');
                fnd = klc(fnd);
            }
            fnd = CommonFunctions.EscapeLikeValue(fnd);

            string col = cConfig.dsConfig.Tables["Tasks"].
                         Columns[grdMain.CurrentCell.ColumnIndex].ColumnName;
            string sort = cConfig.dsConfig.Tables["Tasks"].DefaultView.Sort;

            if (sort == "")
            {
                sort = "ID DESC";
            }

            FindRows = cConfig.dsConfig.Tables["Tasks"].Select("[" + col + "]" + " LIKE '%" + fnd + "%'", sort);

            if (FindRows.Length == 0)
            {
                return;                       //nothing found
            }
            CurFind = 0;
            int currow = -1;

            foreach (DataGridViewRow dgvr in grdMain.Rows)
            {
                currow++;
                if (dgvr.Cells[0].Value.ToString() == FindRows[CurFind]["ID"].ToString())
                {
                    grdMain.CurrentCell = grdMain.Rows[currow].Cells[curcell];
                }
            }
        }