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;
}
winform框体中接口传值
方法1
string intputjson = "{\"EventID\": \"CheckData\",\"StationID\": \"\",\"MachineID\": \"M001\", \"IPV4\": \"\", \"OPID\": \"70019321\",\"SNType\": \"SN\",\"CheckType\": \"X - Ray\",\"Mode\": \"Send\",\"SN\": \"T201900101\"," +
"\"FilePath\": \"\",\"DC_Info\": [{ \"Item\": \"DefectPoints\", \"UP\": \"\",\"Down\": \"\",\"Value\": \"80\", \"Unit\": \"个\", \"Class\": \"\", \"CheckResult\": \"FAIL\"}," +
"{ \"Item\": \"Ratio\", \"UP\": \"\",\"Down\": \"\",\"Value\": \"8\", \"Unit\": \"%\", \"Class\": \"\", \"CheckResult\": \"FAIL\"}]}";
eap2mes.EAP2MES eap = new eap2mes.EAP2MES();
string strresult = eap.EAPtoMES_XML("MachineID", "CheckData", intputjson);
var ResultJson = JObject.Parse(strresult);
// 如果数据协议中Result=NG,需提示异常信息
if (ResultJson["Result"].ToString() == "NG")
{
MessageBox.Show(ResultJson["MSG"].ToString());
// 如果数据协议中有Need_Work 字段,返回=STOP,需停机
/*
if (ResultJson["Need_Work"].ToString() == "STOP")
{
// 控制设备停止作业,不允许产品继续生产;
}
*/
}
else { MessageBox.Show(ResultJson["Result"].ToString()); }
方法2
JObject retJson = new JObject();
retJson.Add("EventID", "CheckData");
retJson.Add("MachineID", "M001");
retJson.Add("DC_Info", "M001");
MessageBox.Show(retJson.ToString());