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 + -
显示快捷键?