ucqueryinst.cs

来自「以构建的方式来实现对通用的查询统计」· CS 代码 · 共 509 行 · 第 1/2 页

CS
509
字号
      if (drs == null || drs.Length == 0)
      {
        MessageBox.Show("没有找到要删除的数据!", "消息");
        return;
      }
      //删除树节点
      tn.Remove();
      drs[0].Delete();

      try
      {
        gridControl1.DataSource = null;
        textBox_QueryInstName.Text = "";
        proAttFilter.DeleteAttFilterTable(Convert.ToInt32(tn.Name));//先删除子表,属性过滤表
        m_QueryInstDbDataAdapter.Update(m_QueryInstDataSet, m_strQueryInstTbl);
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message, "提示");
      }
    }

    private void lookUpEdit1_Properties_EditValueChanged(object sender, EventArgs e)
    {

    }
    //初始化查询模板
    private void InitLookupData()
    {
      DataSet ds = new DataSet();
      System.Data.OleDb.OleDbDataAdapter dbAdapter = new System.Data.OleDb.OleDbDataAdapter(
        "SELECT AbstractQueryName,AbstractQueryID FROM FS_AbstractQuery", m_OleDbConn);
      dbAdapter.Fill(ds, "FS_AbstractQuery");
      DataViewManager dvm = new DataViewManager(ds);
      DataView dvLookup;

      dvLookup = dvm.CreateDataView(ds.Tables["FS_AbstractQuery"]);

      // <lookUpEdit1>
      //lookUpEdit1.DataBindings.Add("EditValue", dvLookup, "VTID");
      lookUpEdit1.Properties.DataSource = dvLookup;
      lookUpEdit1.Properties.DisplayMember = "AbstractQueryName";
      lookUpEdit1.Properties.ValueMember = "AbstractQueryID";
      // </lookUpEdit1>
    }

    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
      TreeNode tn = e.Node;
      if (tn == null || tn.ImageIndex != m_nQueryInstImageIndex) return;

      DataRow row;
      DataRow[] drs = m_QueryInstTable.Select("QueryInstID=" + tn.Name);
      if (drs == null || drs.Length == 0) return;
      row = drs[0];
      lookUpEdit1.EditValue = Convert.ToInt32(row["AbstractQueryID"]);
      textBox_QueryInstName.Text = row["QueryInstName"].ToString();
      object obj;
      obj = row["AttWinVisible"];
      if (obj.ToString() == "") checkBox_attVisible.Checked = false;
      else checkBox_attVisible.Checked = Convert.ToBoolean(obj);
      obj = row["SpWinVisible"];
      if (obj.ToString() == "") checkBox_SpacialVisible.Checked = false;
      else checkBox_SpacialVisible.Checked = Convert.ToBoolean(obj);
      //填充属性过滤表============================================================
      proAttFilter.QueryInstID = Convert.ToInt32(tn.Name);//查询实例ID
      proAttFilter.AbstractQueryID = Convert.ToInt32(row["AbstractQueryID"]);//查询模板ID
      proAttFilter.LoadAttFilterTable();//属性过滤表
      proAttFilter.LoadQueryTemplateInfo();//查询模板相关信息表
      proAttFilter.LoadFieldsInfo();//字段信息表
      gridControl1.DataSource = proAttFilter.m_AttFilterTable;
      proAttFilter.FillrepositoryItemComboBox_field(repositoryItemLookUpEdit_field1);//属性过滤表中,处理字段下来列表框
      proAttFilter.InitItemLookUp(gridView1);//预加载所有的lookupedit

    }


    //当查询模板变化时,查询字段要重新设定
    private void LoadFieldSetInfo()
    {
      if (lookUpEdit1.EditValue.ToString() == "")
      {
        MessageBox.Show("请选择查询模板!");
        return;
      }
      TreeNode tn = treeView1.SelectedNode;
      if (tn == null) return;
      if (tn.ImageIndex == m_nQueryInstImageIndex)
        proAttFilter.QueryInstID = Convert.ToInt32(tn.Name);//查询实例ID
      else proAttFilter.QueryInstID = -1;


      proAttFilter.AbstractQueryID = Convert.ToInt32(lookUpEdit1.EditValue);//查询模板ID
      proAttFilter.LoadAttFilterTable();//属性过滤表
      proAttFilter.LoadQueryTemplateInfo();//查询模板相关信息表
      proAttFilter.LoadFieldsInfo();//字段信息表
      gridControl1.DataSource = proAttFilter.m_AttFilterTable;
      proAttFilter.FillrepositoryItemComboBox_field(repositoryItemLookUpEdit_field1);//处理字段下拉列表框
      proAttFilter.InitItemLookUp(gridView1);//预加载所有的lookupedit
    }

    //处理属性过滤===============================================
    clsProAttFilter proAttFilter;
    private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
      if (e.Column.Name != "gridColumn6") return;
      if (e.RowHandle < 0 || e.RowHandle > 1000) return;
      DataRow row = gridView1.GetDataRow(e.RowHandle); 
      if (row == null) return;
      if (row.RowState == DataRowState.Deleted) return;
      if (row["Field"].ToString() == "") return;
      int Fieldid = Convert.ToInt32(row["Field"]);
      SetFieldValueSelector(e, Fieldid);
    }

    private void SetFieldValueSelector(DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e, int Fieldid)
    {
      DataRow dr = proAttFilter.GetFieldInfo1(Fieldid);
      if (dr == null) return;
      string DataType = dr["FieldType"].ToString();
      string SQL = dr["DICT"].ToString();
      if (DataType == ConstDataType.CData)
      {
        e.RepositoryItem = repositoryItemDateEdit_value_date1;
      }
      else if (DataType == ConstDataType.CInt)
      {
        e.RepositoryItem = repositoryItemSpinEdit_value_int;
      }
      else if (DataType == ConstDataType.CFloat)
      {
        e.RepositoryItem = repositoryItemTextEdit_value_float;
      }
      else if (DataType == ConstDataType.CString && SQL == "")
      {
        e.RepositoryItem = repositoryItemTextEdit_value_text;
      }
      else if (DataType == ConstDataType.CString && SQL != "")
      {
        e.RepositoryItem = null;
        e.RepositoryItem = proAttFilter.GetLookupEdit(Fieldid);
      }
    }

    private void gridView1_FocusedColumnChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedColumnChangedEventArgs e)
    {
      //if (e.PrevFocusedColumn == null) return;
      //if (e.PrevFocusedColumn.Name != "gridColumn4") return;
      if(gridView1.FocusedRowHandle < 0 ) gridControl1.EmbeddedNavigator.Buttons.EndEdit.DoClick();
      return;
      DataView view = (DataView)gridView1.DataSource;
      if (view == null) return;
      DataTable dt = (DataTable)view.Table;
      if (dt == null) return;
      if (gridView1.FocusedRowHandle < 0 || gridView1.FocusedRowHandle > 1000) return;
      DataRow row = dt.Rows[gridView1.FocusedRowHandle];
      if (row == null) return;
      if (row["Field"].ToString() == "") return;
      int Fieldid = Convert.ToInt32(row["Field"]);

      DataRow dr = proAttFilter.GetFieldInfo1(Fieldid);
      if (dr == null) return;
      string DataType = dr["FieldType"].ToString();
      if (DataType != ConstDataType.CData) return;

      //proAttFilter.SetDict(repositoryItemLookUpEdit_value1, Fieldid);
      //proAttFilter.ProFieldValueSelect(gridColumn6, repositoryItemLookUpEdit_value1, repositoryItemTextEdit_value, repositoryItemDateEdit1, Fieldid);
    }

    private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
    {
      return;
      DataView view = (DataView)gridView1.DataSource;
      if (view == null) return;
      DataTable dt = (DataTable)view.Table;
      if (dt == null) return;
      if (gridView1.FocusedRowHandle < 0 || gridView1.FocusedRowHandle > 1000) return;
      DataRow row = dt.Rows[gridView1.FocusedRowHandle];
      if (row == null) return;
      if (row["Field"].ToString() == "") return;
      int Fieldid = Convert.ToInt32(row["Field"]);

      DataRow dr = proAttFilter.GetFieldInfo1(Fieldid);
      if (dr == null) return;
      string DataType = dr["FieldType"].ToString();
      if (DataType != ConstDataType.CData) return;

      //proAttFilter.ProFieldValueSelect(gridColumn6, repositoryItemLookUpEdit_value1, repositoryItemTextEdit_value, repositoryItemDateEdit1, Fieldid);

    }

    private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
    {
      return;
      if (e.DisplayText == "") return;
      if (e.DisplayText.Length <= 10) return;

      if (e.RowHandle < 0 || e.RowHandle > 1000) return;
      DataRow row = gridView1.GetDataRow(e.RowHandle);
      if (row == null) return;
      if (row["Field"].ToString() == "") return;
      int Fieldid = Convert.ToInt32(row["Field"]);
      DataRow dr = proAttFilter.GetFieldInfo1(Fieldid);
      if (dr == null) return;
      string DataType = dr["FieldType"].ToString();
      if (DataType != ConstDataType.CData) return;
      e.DisplayText = e.DisplayText.Remove(10);
      //MessageBox.Show(e.DisplayText);
    }

    private void SetLookupData()
    {
      if (gridView1.FocusedRowHandle < 0 || gridView1.FocusedRowHandle > 1000) return;
      DataRow row = gridView1.GetDataRow(gridView1.FocusedRowHandle);
      if (row == null) return;
      if (row["Field"].ToString() == "") return;
      int Fieldid = Convert.ToInt32(row["Field"]);
      DataRow dr = proAttFilter.GetFieldInfo1(Fieldid);
      if (dr == null) return;
      string DataType = dr["FieldType"].ToString();
      //if (DataType != ConstDataType.CData) return;
    }

    private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
    {
      DataRow row = gridView1.GetDataRow(e.RowHandle);
      row["relation"] = "=";
      row["logicSym"] = "and";
      row["UserIsVisible"] = 1;
    }

    private void gridControl1_EmbeddedNavigator_ButtonClick(object sender, DevExpress.XtraEditors.NavigatorButtonClickEventArgs e)
    {
      return;
      if (e.Button.ButtonType.ToString() != "Remove") return;
      DevExpress.XtraGrid.GridControlNavigator Nav = (DevExpress.XtraGrid.GridControlNavigator)sender;
      int iPos = Nav.NavigatableControl.Position;
      if (iPos < 0) return;
      DataView view = (DataView)gridView1.DataSource;
      if (view == null) return;
      DataTable dt = (DataTable)view.Table;
      if (dt == null) return;
      dt.Rows.RemoveAt(iPos);
    }

    private void lookUpEdit1_EditValueChanged(object sender, EventArgs e)
    {
      LoadFieldSetInfo();
    }


  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?