Пример #1
0
 private void txtValueText_TextChanged(object sender, EventArgs e)
 {
     try
     {
         txtDisplayText.Text = "";
         string sSql = "";
         //if (EditValue != "" && EditValue!="0")
         if (EditValue != "")
         {
             //sSql = "SELECT A." + DisplayField + " FROM (" + SQL + ") A WHERE " + DataField + "='" + EditValue + "'";
             //sSql = "SELECT A.*" + " FROM (" + SQL + ") A WHERE " + DataField + "='" + EditValue + "'";
             if (SearchFormFilter != "" && SearchFormFilter != null)
             {
                 sSql = "SELECT A.* FROM (" + SQL + ") A WHERE " + SearchFormFilter;
             }
             else
             {
                 sSql = SQL;
             }
             //DataTable dt = BWS.ERP.DataAccess.DbHelperSQL.Query(sSql).Tables[0];
             DataRow[] dr = BWS.ERP.DataAccess.DbHelperSQL.Query(sSql).Tables[0].Select(DataField + "='" + EditValue + "'");
             //if (dt.Rows.Count > 0)
             if (dr.Length > 0)
             {
                 //txtDisplayText.Text = dt.Rows[0][DisplayField].ToString();
                 txtDisplayText.Text = dr[0][DisplayField].ToString();
                 for (int i = 0; i < LAutoSetControl.ToArray().Length; i++)
                 {
                     LAutoSetControl[i].Focus();
                     LAutoSetControl[i].Text = _dt.Rows[0][LAutoSetValueFields[i]].ToString();
                 }
                 for (int i = 0; i < LAutoSetFields.ToArray().Length; i++)
                 {
                     gvTemp.Focus();
                     if (this.DataBindings[0].DataSource is System.Windows.Forms.BindingSource)
                     {
                         //先要设置控件绑定的值,在设置自动赋值的字段
                         ((DataTable)(((System.Windows.Forms.BindingSource)(this.DataBindings[0].DataSource)).DataSource)).Rows[gvTemp.GetFocusedDataSourceRowIndex()][this.DataBindings[0].BindingMemberInfo.BindingField] = EditValue;
                         ((DataTable)(((System.Windows.Forms.BindingSource)(this.DataBindings[0].DataSource)).DataSource)).Rows[gvTemp.GetFocusedDataSourceRowIndex()][LAutoSetFields[i]] = dr[0][LAutoSetValueFields[i]];
                         //((System.Windows.Forms.BindingSource)(this.DataBindings[0].DataSource)).EndEdit();
                     }
                     else
                     {
                         ((DataSet)(this.DataBindings[0].DataSource)).Tables[0].Rows[gvTemp.GetFocusedDataSourceRowIndex()][this.DataBindings[0].BindingMemberInfo.BindingField] = EditValue;
                         ((DataSet)(this.DataBindings[0].DataSource)).Tables[0].Rows[gvTemp.GetFocusedDataSourceRowIndex()][LAutoSetFields[i]] = dr[0][LAutoSetValueFields[i]];
                         ((DataSet)(this.DataBindings[0].DataSource)).Tables[0].AcceptChanges();
                     }
                 }
             }
         }
     }
     catch (Exception)
     {
     }
 }
Пример #2
0
        /// <summary>
        /// 設置某單元格獲得焦點
        /// </summary>
        /// <param name="view"></param>
        /// <param name="rowHandle"></param>
        /// <param name="columnName"></param>
        private void SetFocuse(DevExpress.XtraGrid.Views.Grid.GridView view, Int32 rowHandle, string columnName)
        {
            view.Focus();
            view.FocusedRowHandle = rowHandle;
            view.FocusedColumn    = view.Columns[columnName];
            //view.ShowEditor();

            //DoMouseClick();
            dgvDetails.SelectCell(rowHandle, view.FocusedColumn);
            dgvDetails.ShowEditor();

            // MouseFlag.AutoClick(201, 32);

            //    MouseHelper.SetCursorPos(201, 32);
            //    MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            //    MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
        }