📄 ucstatinst.cs
字号:
else checkBox_GroupVisible.Checked = Convert.ToBoolean(obj);
obj = row["StatItemVsisible"];
if (obj.ToString() == "") checkBox_StatItemVisible.Checked = false;
else checkBox_StatItemVisible.Checked = Convert.ToBoolean(obj);
obj = row["IsWebStat"];
if (obj.ToString() == "") checkBoxWebStat.Checked = false;
else checkBoxWebStat.Checked = Convert.ToBoolean(obj);
//填充属性过滤表============================================================
InitAttFilter(Convert.ToInt32(tn.Name), Convert.ToInt32(row["AbstractStatID"]));
//处理分组类型===============================================================
if(row["MainGroupType"].ToString() == "") comboBox_GroupType.SelectedIndex = 0;//地图分组
else comboBox_GroupType.SelectedIndex = Convert.ToInt32(row["MainGroupType"]);//属性分组
//填充主分组字段
if (comboBox_GroupType.SelectedIndex == 0) FillGroupObj1(true);//填充图层
else FillGroupObj1(false);//填充字段
comboBox_GroupObj1.SelectedItem = row["MainGroupItem"];//设置当前选择
FillGroupField(comboBox_groupObj2); //处理次分组字段
comboBox_groupObj2.SelectedItem = row["SecondGroupField"].ToString();//设置当前选择
InitGroupObj(Convert.ToInt32(tn.Name)); //装载分组项
//处理统计字段============================================================
StatItem.LoadStatItemTable();
gridControl1.EmbeddedNavigator.Refresh();
gridControl2.EmbeddedNavigator.Refresh();
}
//对属性处理对象进行初始化
private void InitAttFilter(int statInstID, int AbstractID)
{
proAttFilter.StatInstID = statInstID;//统计实例ID
proAttFilter.AbstractStatID = AbstractID;//统计模板ID
proAttFilter.LoadAttFilterTable();//属性过滤表
proAttFilter.LoadStatTemplateInfo();//统计模板相关信息表
proAttFilter.LoadAttFilterFieldsInfo();//字段信息表
proAttFilter.GetFieldInfoTable();
gridControl1.DataSource = proAttFilter.m_AttFilterTable;
proAttFilter.FillrepositoryItemComboBox_field(repositoryItemLookUpEdit_field1);//处理字段下来列表框
proAttFilter.InitItemLookUp(gridView1);//预加载所有的lookupedit
gridControl1.Update();
}
//当统计模板变化时,统计字段要重新设定
private void LoadFieldSetInfo()
{
if (lookUpEdit1.EditValue.ToString() == "")
{
MessageBox.Show("请选择统计模板!");
return;
}
TreeNode tn = treeView1.SelectedNode;
if (tn == null) proAttFilter.StatInstID = -1;
else if (tn.ImageIndex == m_nStatInstImageIndex) proAttFilter.StatInstID = Convert.ToInt32(tn.Name);//统计实例ID
else proAttFilter.StatInstID = -1;
proAttFilter.AbstractStatID = Convert.ToInt32(lookUpEdit1.EditValue);//统计模板ID
proAttFilter.LoadAttFilterTable();//属性过滤表
proAttFilter.LoadStatTemplateInfo();//统计模板相关信息表
proAttFilter.LoadAttFilterFieldsInfo();//字段信息表
proAttFilter.LoadFieldsInfo();
gridControl1.DataSource = proAttFilter.m_AttFilterTable;
proAttFilter.FillrepositoryItemComboBox_field(repositoryItemLookUpEdit_field1);//处理字段下拉列表框
proAttFilter.InitItemLookUp(gridView1);//预加载所有的lookupedit
}
//处理属性过滤===============================================
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();
FillGroupField(comboBox_groupObj2); //处理次分组字段(属性字段)
listBox_GroupItem2.Items.Clear();
if (comboBox_GroupType.SelectedIndex == 1)//主分组字段也是属性分组
{
FillGroupField(comboBox_GroupObj1); //处理次分组字段
listBox_GroupItem1.Items.Clear();
}
//处理统计项目
StatItem.LoadStatItemTable();
gridControl1.EmbeddedNavigator.Refresh();
gridControl2.EmbeddedNavigator.Refresh();
}
///以下函数处理统计分组
/// <summary>
///
/// </summary>
private void InitGroupObj(int StatInstID)
{
clsProcGroupItem ProGItem = new clsProcGroupItem();
ProGItem.m_nStatInstID = StatInstID;
ProGItem.OleDbConn = m_OleDbConn;
ProGItem.MainGroupContent = this.listBox_GroupItem1;
ProGItem.SecondGroupContent = this.listBox_GroupItem2;
ProGItem.LoadGroupContent();
}
//填充主分组项,当是地图上,填充为图层;当是属性列表时,填充的是分组字段
private void FillGroupObj1(bool bMap)
{
comboBox_GroupObj1.Items.Clear();
if (bMap)
{
comboBox_GroupObj1.Items.Add(XXQH_TYPE.CPROV);
comboBox_GroupObj1.Items.Add(XXQH_TYPE.CDIST);
comboBox_GroupObj1.Items.Add(XXQH_TYPE.CCNTY);
}
else
{
FillGroupField(comboBox_GroupObj1);
}
}
private void FillGroupField(ListBox GroupItemListBox)
{
if (proAttFilter == null || GroupItemListBox == null) return;
DataTable dt = proAttFilter.GetFieldInfoTable();
if (dt == null) return;
DataRow[] drs = dt.Select("IsGroup = 1");//分组字典必须是词典
GroupItemListBox.Items.Clear();
foreach (DataRow dr in drs)
{
if (dr["DICT"].ToString().Trim() == "")
{
MessageBox.Show("分组字段必须是字典!配置错误!该字段被忽略!");
continue;
}
GroupItemListBox.Items.Add(dr["FieldAias"].ToString());
}
}
private void FillGroupField(ComboBox GroupItemComboBox)
{
if (proAttFilter == null || GroupItemComboBox == null) return;
DataTable dt = proAttFilter.GetFieldInfoTable();
if (dt == null) return;
DataRow[] drs = dt.Select("IsGroup = 1");//分组字典必须是词典
GroupItemComboBox.Items.Clear();
foreach (DataRow dr in drs)
{
if (dr["DICT"].ToString().Trim() == "")
{
MessageBox.Show("分组字段必须是字典!配置错误!该字段被忽略!");
continue;
}
GroupItemComboBox.Items.Add(dr["FieldAias"].ToString());
}
}
private void comboBox_GroupType_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox_GroupType.SelectedIndex == 0)//分组类型为地图
{
FillGroupObj1(true);
}
else FillGroupObj1(false);
listBox_GroupItem1.Items.Clear();
MainGrouList.Clear();
}
//选择主分组的分组目录
private void btnSelect1_Click(object sender, EventArgs e)
{
if (comboBox_GroupType.SelectedIndex == 0)//分组类型为地图
{
frmSelectXXQHbyATT frm = new frmSelectXXQHbyATT();
frm.mapControl = null;
frm.OleDbConn = m_OleDbConn;
frm.iLevel = comboBox_GroupObj1.SelectedIndex + 1;
frm.FirstLayer = "省级行政区";
frm.SecondLayer = "地级行政区";
frm.ThirdLayer = "县级行政区";
frm.FirstKeyField = "PROV_CODE";
frm.FirstNameField = "name";
frm.SecondKeyField = "DIST_CODE";
frm.SecondNameField = "name";
frm.ThirdKeyField = "CNTY_CODE";
frm.ThirdNameField = "name";
////frm.PrivCode = "110000";////通过这里来设置权限
//设置以前的选择
frm.ShowDialog(this);
//保存设置
frm.SaveSel(listBox_GroupItem1);
frm.SaveSel(MainGrouList);//保存编码
}
else
{
if (proAttFilter == null) return;
if (comboBox_GroupObj1.SelectedItem.ToString() == "") return;//comboBox_GroupObj1
string dict = proAttFilter.GetFieldDICT(comboBox_GroupObj1.SelectedItem.ToString());
frmSelectDictItem frm = new frmSelectDictItem();
frm.OleDbConn = m_OleDbConn;
frm.DICT = dict;
frm.ShowDialog(this);
frm.SaveSel(listBox_GroupItem1);//保存到界面
frm.SaveSel(MainGrouList);//保存编码
}
}
private void comboBox_groupObj2_SelectedIndexChanged(object sender, EventArgs e)
{
listBox_GroupItem2.Items.Clear();
SecondGroupList.Clear();
}
private void comboBox_GroupObj1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox_GroupItem1.Items.Clear();
MainGrouList.Clear();
}
private void btnSelect2_Click(object sender, EventArgs e)
{
if (proAttFilter == null) return;
if (comboBox_groupObj2.SelectedItem.ToString() == "") return;//次分组对象
string dict = proAttFilter.GetFieldDICT(comboBox_groupObj2.SelectedItem.ToString());
frmSelectDictItem frm = new frmSelectDictItem();
frm.OleDbConn = m_OleDbConn;
frm.DICT = dict;
frm.ShowDialog(this);
frm.SaveSel(listBox_GroupItem2);//保存到界面
frm.SaveSel(SecondGroupList);//保存编码
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -