我的目的,根据传入的阅读集合(多人有权限阅读,这里是一条阅读记录),找出其中的人,并把数据加到人的集合。
结果是:传入的阅读集合是正确的,有两个记录。但是得到的人的集合,开始的一条记录是空值,后一条正常。
请教了!
//根据阅读记录找出人
public IList<PBSTAFFEntity> getStaffByInfoItem(IList<InfoBrowseEntity> infoItemEntity)
{ IList<PBSTAFFEntity> result = new List<PBSTAFFEntity>(); if (infoItemEntity.Count > 0)
{
foreach (InfoBrowseEntity itemEntity in infoItemEntity)
{
PBSTAFFEntity pbstaffEntity = new PBSTAFFEntity();
string strWhere = "PB_LOGIN_ID='" + itemEntity.PBLOGINID.ToString() + "'";
result = getuser(strWhere);
result.Add(pbstaffEntity);
} }
return result;
}
结果是:传入的阅读集合是正确的,有两个记录。但是得到的人的集合,开始的一条记录是空值,后一条正常。
请教了!
//根据阅读记录找出人
public IList<PBSTAFFEntity> getStaffByInfoItem(IList<InfoBrowseEntity> infoItemEntity)
{ IList<PBSTAFFEntity> result = new List<PBSTAFFEntity>(); if (infoItemEntity.Count > 0)
{
foreach (InfoBrowseEntity itemEntity in infoItemEntity)
{
PBSTAFFEntity pbstaffEntity = new PBSTAFFEntity();
string strWhere = "PB_LOGIN_ID='" + itemEntity.PBLOGINID.ToString() + "'";
result = getuser(strWhere);
result.Add(pbstaffEntity);
} }
return result;
}
我要做的是修改一条公告记录
这条公告原来是允许某个部门的人看
现在我打开,需要把那些部门显示出来我的思路:
选择了某条数据,将子表中的人员选出,再推算出当初选择的是某个部门。
/// <summary>
/// 复选框的部门
/// </summary>
/// <param name="mainEntity"></param>
private void LoadSelectedPart(InfoEntity mainEntity)
{
LoadDepart(); InfoMgr mgr = new InfoMgr(mainEntity);
IList<InfoBrowseEntity> result = mgr.GetInfoItem("id=" + mainEntity.ID.ToString());//公告对应的阅读集合 InfoBrowseEntity infoBrowseEntity = new InfoBrowseEntity();
StaffMgr smgr = new StaffMgr();//根据阅读集合得到一个集合
IList<PBSTAFFEntity> presult = smgr.getStaffByInfoItem(result);//阅读集合对应的人集合
IEnumerator enumerator = presult.GetEnumerator();
while (enumerator.MoveNext())
{
PBSTAFFEntity entity = enumerator.Current as PBSTAFFEntity; int iPos = -1;
foreach (ListItem item in lstDepart.Items)
{
iPos++;
if (item.Value == entity.PBDEPARTMENTID.ToString())
{
lstDepart.Items[iPos].Selected = true;
} }
}
}
//根据阅读记录找出人
public IList<PBSTAFFEntity> getStaffByInfoItem(IList<InfoBrowseEntity> infoItemEntity)
{
String strWhere = "PB_LOGIN_ID in (";
String strInId = String.Empty;
foreach (InfoBrowseEntity itemEntity in infoItemEntity)
{
strInId += "'" + itemEntity.PBLOGINID.ToString() + "',";
} if (String.IsNullOrEmpty(strId))
return null;
strWhere += strInId.Substring(0, strInId.Length - 1) + ")";
IList<PBSTAFFEntity> result = getuser(strWhere); //修改getuser函数,使返回为IList<PBSTAFFEntity> return result;
} public IList<PBSTAFFEntity> getuser(string whereSqlString)
{
PBSTAFFService service = new PBSTAFFService(new PBSTAFFEntity());
return service.SelectPBSTAFF(whereSqlString);
} /// <summary>
/// 自定义检索职员
/// </summary>
/// <returns></returns>
public IList<PBSTAFFEntity> SelectPBSTAFF(string whereSqlString)
{
IList<PBSTAFFEntity> result=new List<PBSTAFFEntity>();
DAOBase dao = new PBSTAFFDAO(entity);
dao.WhereSQLString=whereSqlString;
DataSet ret=dao.Select();
if (ret != null)
{
if (ret.Tables[0].Rows.Count > 0)
{
foreach(DataRow row in ret.Tables[0].Rows)
{
PBSTAFFEntity _entity = new PBSTAFFEntity();
_entity.PBLOGINID=(row["PB_LOGIN_ID"].ToString());
_entity.PBPASSWORD=(row["PB_PASSWORD"].ToString());
_entity.PBDEPARTMENTID=(row["PB_DEPARTMENT_ID"].ToString());
_entity.PBCODE=(row["PB_CODE"].ToString());
_entity.PBNAME=(row["PB_NAME"].ToString()); result.Add(_entity);
}
}
}
return result;
}