list取值多选填入文本框
<td>
@Html.Kendo().MultiSelectFor(m => m.Repair_ByName).DefaultOptions().DataSource(ds => ds.Read("GeRecordEmp", "Repair"))
@Html.ValidationMessageFor(m => m.Repair_ByName)
</td>
//取维修人员信息
public ActionResult GeRecordEmp()
{
using (var handler = new RepairHandler())
{
return Json(handler.GetAllRecordEmp().Select(x => new SelectListItem()
{
Text = x.Name,
Value = x.Id.ToString(),
}), JsonRequestBehavior.AllowGet);
}
}
public List<Account> GetAllRecordEmp()
{
var getList = (from x in db.ACCOUNT
where x.DELETEFLAG == 0
select new Account
{
Id = x.ID,
Name = x.NAME
}).ToList();
return getList;
}
取值入文本框后怎么在文本框进行jquery取值
MultiSelectFor
Join使用
public List<DataKeyValue> GetDepartmentAndUserList()
{
var list = (from d in db.DEPARTMENT.AsEnumerable()
join a in db.ACCOUNT on d.ID equals a.DEPARTMENTID
select new DataKeyValue
{
key = d.DEPARTMENTNAME,
value = a.ACCOUNT1
}).ToList();
return list;
}
join使用
//取维修领料对应的设备备品清单
public List<EMS.Models.CallRepair> getRepairGIInfo(int page, int pageSize, string sCallNO)
{
var getList = (from ERB in db.EMS_R_BEGIN.Where(x => x.BEGIN_REPAIR_NO == sCallNO)
join ER_CD in db.EMS_R_CALL_DEFECT on ERB.CALL_REPAIR_NO equals ER_CD.CALL_REPAIR_NO into a
from ERCD in a.DefaultIfEmpty()
join M_H in db.MACHINE on ERCD.MACHINE_ID equals M_H.ID into b
from MH in b.DefaultIfEmpty()
join ES_BH in db.EMS_SYS_BOM_HEAD.Where(s => s.PLANT_ID == UserSession.Plant.Id) on MH.PARTNO equals ES_BH.BOM_PART into c
//join ES_BH in db.EMS_SYS_BOM_HEAD on new { MH.PARTNO,ERB.PLANTID} equals new { ES_BH.BOM_PART,ES_BH.PLANT_ID} into c
from ESBH in c.DefaultIfEmpty()
join ES_BT in db.EMS_SYS_BOM_ITEM.Where(t => t.QTY > 0) on ESBH.ID equals ES_BT.BOM_ID into d
from ESBT in d.DefaultIfEmpty()
join S_P in db.SYS_PART on ESBT.PART_NO equals S_P.PART_NO into e
from SP in e.DefaultIfEmpty()
join G_ST in db.G_SUP_STORE.Where(t => t.PART_ID != null) on SP.ID equals G_ST.PART_ID into f
from GST in f.DefaultIfEmpty()
join G_SUO in db.G_SUP_USE_ORDER.Where(t => t.DOC_NO != null) on ERB.BEGIN_REPAIR_NO equals G_SUO.DOC_NO into g
from GSUO in g.DefaultIfEmpty()
join G_SUP in db.G_SUP_USE_PART on new {
GSUO.USENO,SP.PART_NO } equals new {
USENO= G_SUP.USE_NO,G_SUP.PART_NO} into h
from GSUP in h.DefaultIfEmpty()
select new CallRepair
{
Begin_Repair_No = ERB.BEGIN_REPAIR_NO,
MachineNo = MH.CUSTODYNO,
BomPartNo = ESBH.BOM_PART,
PartNo = ESBT.PART_NO,
PartDesc = SP.PART_DESC,
StoreCode = GST.STORE_CODE,
StoreQty = GST.QUANTITY,
Unit = SP.UNIT,
ReqQty = ESBT.QTY,
GiQty = GSUP.QTY
}).OrderBy(x => x.Begin_Repair_No).ToList();
return getList;
}
1、sql语句:
select * from Users u join Teachers t on u.UserID==t.TeacherID and u.Name=t.Name
2、linq写法:
1)、方法一:
将多个字段的比较,new 一个对象进行比较;
注意:对象的属性名要保持一致;
var userInfos = from u in db.Users join t in db.Teachers on new {
u.UserID , u.Name } equals new {
UserID = t.TeacherID,t.Name } select new {
ID=u.UserID, t.Name };
2)、方法二:
var userInfos = from u in db.Users from t in db.Teachers where u.UserID == t.TeacherID && u.Name == t.Name select new {
ID=u.UserID, t.Name };
josn值返回
columns.Bound(c => c.Begin_Repair_No).ClientTemplate("<a href='" + Url.Action("RepairGIEdit") + "/#=Id#'>#=Begin_Repair_No#</a>").Filterable(true).Width(130);
columns.Bound(c => c.WorkCenter).Width(80);
columns.Bound(c => c.Begin_ByName).Filterable(false).Sortable(false).Width(100);
columns.Bound(c => c.Begin_Time).Filterable(false).Sortable(false).Width(130);
columns.Bound("").ClientTemplate("<a href='" + Url.Action("RTOrderGIList", Html.ControllerName()) + "?strOrderNumber=#=Begin_Repair_No#'>领料单信息</a>").Width(60).Filterable(false);
})
.DefaultOptions()
.Filterable(f => f.Enabled(true))
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.Read(read => read.Action("RepairGIList", Html.ControllerName()))
.ServerOperation(true)
.Model(m =>
{
m.Id(c => c.Begin_Repair_No);
}).PageSize(50))
必须要加[DataSourceRequest] DataSourceRequest request然后使用
return Json(list.ToDataSourceResult(request));
public ActionResult RepairGIList([DataSourceRequest] DataSourceRequest request)
{
using (var handler = new RepairHandler())
{
var list = handler.GetRepairGIList();
return Json(list.ToDataSourceResult(request));
}
}
多表查询list
var TCALL = (from r in db.EMS_R_CALL
from a in db.ACCOUNT
where r.STATUS == 0 && a.DEPARTMENTID == DeptId && a.DELETEFLAG == 0 &&
r.CALL_BY == a.ID
select new CallRepair
{
Call_Repair_No = r.CALL_REPAIR_NO,
Line_Name = r.LINE.CODE,
Call_ByN = a.NAME,
Call_Time = r.CALL_TIME,
});
或者
var getList = (from T_BEGIN in db.EMS_R_BEGIN.Where(y => y.STATUS == 1 && CALLNO.Contains(y.CALL_REPAIR_NO))
join a in db.ACCOUNT on T_BEGIN.BEGIN_BY equals a.ID into aa
from T_A in aa.DefaultIfEmpty()
//join b in TCALL on T_BEGIN.CALL_REPAIR_NO equals b.Call_Repair_No into bb
//from T_CALL in bb.DefaultIfEmpty()
select new CallRepair
{
Id = T_BEGIN.ID,
Call_Repair_No = T_BEGIN.CALL_REPAIR_NO,
Begin_Repair_No = T_BEGIN.BEGIN_REPAIR_NO,
//Line_Name = TCALL.Where(x=>x.Call_Repair_No==T_BEGIN.CALL_REPAIR_NO).Select(t=>t.Line_Name).FirstOrDefault(),
//Call_ByN = TCALL.Where(x => x.Call_Repair_No == T_BEGIN.CALL_REPAIR_NO).Select(t => t.Call_ByN).FirstOrDefault(),
//Call_Time = TCALL.Where(x => x.Call_Repair_No == T_BEGIN.CALL_REPAIR_NO).Select(t => t.Call_Time).FirstOrDefault(),
Begin_Time = T_BEGIN.BEGIN_TIME,
Begin_ByName = T_A.NAME,
Status = T_BEGIN.STATUS,
//StatusName = T_BEGIN.STATUS == 1 ? "起修" : (T_BEGIN.STATUS == 2 ? "工时回报" : "结案"),
WorkCenter = T_BEGIN.WORK_CENTER,
}).ToList();
public List<EMS.Models.CallRepair> GetRepairGIInfo( string strOrderNumber)
{
var getList = (from ERB in db.EMS_R_BEGIN.Where(x => x.BEGIN_REPAIR_NO == strOrderNumber)
join ER_CD in db.EMS_R_CALL_DEFECT on new {
ERB.CALL_REPAIR_NO ,ERB.BEGIN_REPAIR_NO} equals new {
ER_CD.CALL_REPAIR_NO ,ER_CD.BEGIN_REPAIR_NO} into a
from ERCD in a.DefaultIfEmpty()
join M_H in db.MACHINE on ERCD.MACHINE_ID equals M_H.ID into b
from MH in b.DefaultIfEmpty()
join ES_BH in db.EMS_SYS_BOM_HEAD.Where(s => s.PLANT_ID == UserSession.Plant.Id) on MH.PARTNO equals ES_BH.BOM_PART into c
//join ES_BH in db.EMS_SYS_BOM_HEAD on new { MH.PARTNO,ERB.PLANTID} equals new { ES_BH.BOM_PART,ES_BH.PLANT_ID} into c
from ESBH in c.DefaultIfEmpty()
join ES_BT in db.EMS_SYS_BOM_ITEM.Where(t => t.QTY > 0) on ESBH.ID equals ES_BT.BOM_ID into d
from ESBT in d.DefaultIfEmpty()
join S_P in db.SYS_PART on ESBT.PART_NO equals S_P.PART_NO into e
from SP in e.DefaultIfEmpty()
//2021/01/03 update by Kero Hu 添加视图 G_SUP_STORE_VIEW(同一料号多个库位取最大库存的库位及库存数)
//join G_ST in db.G_SUP_STORE.Where(t => t.PART_ID != null) on SP.ID equals G_ST.PART_ID into f
//from GST in f.DefaultIfEmpty()
join G_ST in db.G_SUP_STORE_VIEW.Where(t => t.PART_ID != null) on SP.ID equals G_ST.PART_ID into f
from GST in f.DefaultIfEmpty()
join ER_C in db.EMS_R_CALL on ERB.CALL_REPAIR_NO equals ER_C.CALL_REPAIR_NO into g
from ERC in g.DefaultIfEmpty()
select new CallRepair
{
//Id= ESBT.ID,
Begin_Repair_No = ERB.BEGIN_REPAIR_NO,
MachineNo = MH.CUSTODYNO,
BomPartNo = ESBH.BOM_PART,
PartNo = ESBT.PART_NO,
PartDesc = SP.PART_DESC,
StoreCode = GST.STORE_CODE,
StoreQty = GST.QUANTITY,
Unit = SP.UNIT,
ReqQty = ESBT.QTY,
Line_Name= db.LINE.Where(t => t.ID == ERC.LINE_ID).Select(t => t.CODE).FirstOrDefault()
}).OrderBy(x => x.Begin_Repair_No).ToList();
int i = 1;
foreach(var t in getList)
{
t.Id = i;
i += 1;
t.GiQty = CountGIQty(t.Begin_Repair_No, t.PartNo);
}
return getList;
}