您的位置:首页 > 其它

取消挂接、删除小班方法

2015-04-29 11:53 267 查看
//取消挂接方法
public bool WayCancelConnect(IDataForm dataForm)
{
bool res = false;
if (dataForm == null) return res;
//获取选择的小班RowBase
GridControlClass gridControlXBFfoster = dataForm.GetControl("GridControl_YZL_PY_FUYUXB") as GridControlClass;
if (gridControlXBFfoster == null) return res;

string strXBFoster = "";

try
{
//获取抚林小班过滤条件
List<RowBase> lstRBFosterGrid = gridControlXBFfoster.DataSource as List<RowBase>;
if (lstRBFosterGrid != null && lstRBFosterGrid.Count > 0)
{
foreach (var item in lstRBFosterGrid)
{
bool select = item.GetValue<bool>("SHOWCHECKBOX");
int sfbg = item.GetValue<int>("SFBG");
if (select && sfbg == 3)
{
string temp = item.GetValue<string>("XBWYBH");
if (temp == null) continue;
strXBFoster += "'" + temp + "',";
}
}
}
if (!string.IsNullOrWhiteSpace(strXBFoster))
strXBFoster = strXBFoster.Substring(0, strXBFoster.Length - 1);
}
catch (Exception ex)
{
LogManage.WriteLog(ex.Message);
}
//挂接抚林小班;
try
{
if (!string.IsNullOrWhiteSpace(strXBFoster))
{
string sqlUpdateCreate = string.Format("UPDATE {0} SET BGJLBH='{1}',SFBG=1 WHERE XBWYBH in ({2})", TableDeclare.PY_FUYUXB, "", strXBFoster);
ForeStar.Data.Metadata.MetadataWorkspaceFactory.OpenMetadataWorkspace().OpenTable(TableDeclare.PY_FUYUXB).Table.Workspace.ExecuteSql(sqlUpdateCreate, new GlobalParameter("", null));
}
if (!string.IsNullOrWhiteSpace(strXBFoster))
res = true;
}

catch (Exception ex)
{
LogManage.WriteLog(ex.Message);
res = false;
}
return res;
}

//删除小班和挂接方法
public bool WayDeleteConnectAndXB(GridControlClass gridControlXBFfoster)
{
QueryFilter deleteFilter = new QueryFilter();
string codeChange = "";
List<RowBase> lstRBFosterGrid = gridControlXBFfoster.DataSource as List<RowBase>;
if (lstRBFosterGrid != null && lstRBFosterGrid.Count > 0)
{
foreach (var item in lstRBFosterGrid)
{
bool select = item.GetValue<bool>("SHOWCHECKBOX");
if (select)
{
string temp = item.GetValue<string>("XBWYBH");
if (temp == null) continue;
codeChange += "'" + temp + "',";
}
}
}
if (!string.IsNullOrWhiteSpace(codeChange))
codeChange = codeChange.Substring(0, codeChange.Length - 1);
else return false;
deleteFilter.WhereString = string.Format("XBWYBH in ({0}) and SFBG=2", codeChange);
ITable tbFUYUXB = ForeStar.Data.Metadata.MetadataWorkspaceClass.GetMetadataWorkspace.OpenTable(TableDeclare.PY_FUYUXB).Table;
IFeatureClass pFeaCls = tbFUYUXB as IFeatureClass;
IMZDatasetVector dv = pFeaCls.InnerObject as IMZDatasetVector;
if (dv == null) return false;
List<RowBase> lstRowXB = tbFUYUXB.GetEntityList<RowBase>(deleteFilter);

if (lstRowXB == null || lstRowXB.Count == 0) return false;
try
{
foreach (RowBase item in lstRowXB)
{
int I_Pk_UID = item.GetValue<Int32>("PK_UID");
dv.DeleteFeature(I_Pk_UID);
}
return true;
}
catch (Exception ex)
{
LogManage.WriteLog(ex.ToString());
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: