下拉框中的可选项有的是动态从数据库加载出来的,如果我要想再追加一个数据(记录),通常来说是全部。这个怎么办?
一种办法,查询两次数据库,有两个list。第二个list的第一个记录变成全部。然后第一个list追加第二个list的第一个记录。
但是这样存在不稳定性,下拉框中的选项第一个和最后一个都变成了“全部”。不太用,但是也有成功的时候。
//非管理员,只能查询自己所在的部门
List<t_department> departmentList = new List<t_department>();
departmentList = questionBll.QueryDepartByIDList(departmentID);
departmentListtest = questionBll.QueryDepartByIDList(departmentID);
departmentListtest[0].departmentID = "全部";
departmentListtest[0].departmentName = "全部";
departmentList.Add(departmentListtest[0]);
还有一个非常好的办法,list对应一个实体,实体创建一个对象,把这个对象的相关属性赋值然后在添加。这样就可以实现给list添加一个记录了。
List<t_department> listGrade = new List<t_department>();
listGrade = stageBll.QueryGrade();
t_department listGradetest = new t_department();
listGradetest.departmentName = "全部"; //直接给实体赋值,然后list添加
listGrade.Add(listGradetest);
listGrade.Reverse(); //逆序排列,全部位于第一
html页面代码 <input id="UserGrade" class="easyui-combobox" name="UserGrade" style="font-family: Algerian; width:120px; padding-right: 4em;"
data-options="textField:'userGrade',valueField:'userGrade',url:'/StageConfluence/QueryGrade',"editable="false" >
达到效果了。