多选基础资料如何赋值
金蝶云社区-yufugen
yufugen
4人赞赏了该文章 4,134次浏览 未经作者许可,禁止转载编辑于2016年03月17日 18:02:16

如何给多选基础资料进行赋值???

解决办法:
由于多基础资料在后台是存储到另一张表(如:T_RECDEPART ),所以可以通过遍历表T_RECDEPART 对应的选则的基础资料数据,并存储到List中,然后赋值到多选基础资料字段
代码如下:
[code]public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);

sql = "SELECT FID,FBILLNO,FDATE,FDISDEPART,FCONTENT FROM t_Liaison";
using (IDataReader dr = DBServiceHelper.ExecuteReader(this.Context, sql))
{
while (dr.Read())
{
View.Model.CreateNewEntryRow("FEntity");
int iRow = View.Model.GetEntryCurrentRowIndex("FEntity");
View.Model.SetValue("FLiaisonNo", dr["FBILLNO"], iRow);
View.Model.SetValue("FDate", dr["FDATE"], iRow);
View.Model.SetValue("FFWDept", dr["FDISDEPART"], iRow);
#region 收文部门
sql = "SELECT FRECDEPART FROM T_RECDEPART WHERE FID='" + dr["FID"].ToString() + "'";
using (IDataReader dr1 = DBServiceHelper.ExecuteReader(this.Context, sql))
{
List strSWDept = new List();
while (dr1.Read())
{
strSWDept.Add(dr1["FRECDEPART"].ToString());
}
this.View.Model.SetValue("FSWDept", strSWDept, iRow);
this.View.UpdateView("FSWDept");
dr1.Close();
dr1.Dispose();
}
#endregion
View.Model.SetValue("FContent", dr["FCONTENT"], iRow);
}
this.View.UpdateView("FEntity");
}
}[/code]