//获取yhid,njid,njmc
string njmc = "";
int njid = 0,yhid=0;
//测试
// pcwin.Text = this.ASPxComboBox_scsz_pksz.SelectedItem.Value.ToString();//成功
// ASPxPopupControl1.Windows.Add(pcwin);
// int pkszid = (int)this.ASPxComboBox_scsz_pksz.SelectedItem.Value;失败:失败了,错误不会被捕获,没有提示,对象型先转换为string,在转换为整数才能成功
// return;
int pkszid =int.Parse(this.ASPxComboBox_scsz_pksz.SelectedItem.Value.ToString());
njmc = sjkljty.tb_pksz.Where(aa => aa.ID == pkszid).First().njmc;
njid = (int)sjkljty.tb_pksz.Where(aa => aa.ID == pkszid).First().njid;
yhid = (int)sjkljty.tb_pksz.Where(aa => aa.ID == pkszid).First().yhid;
Worksheet worksheet_jskc, worksheet_kcjs;//教师课程,课程节数
// string filePath = @"F:\开发\软件开发\2023年\aspnet\中小学排课\jfyd_zxxpk\scjskc\1013_20231205195843_474200.xls";
string filePath=sjkljty.tb_yh.Where(aa => aa.ID ==yhid).First().wjm;
this.ASPxSpreadsheet1.Open(filePath);
worksheet_jskc = this.ASPxSpreadsheet1.Document.Worksheets[0];//教师课程
worksheet_kcjs = this.ASPxSpreadsheet1.Document.Worksheets[1];//课程优先级
//先更新班级表中的bjunit中的班主任和联系方式,可以根据njid,限定最多100个班级,15个学科
int bj = 0;//班级---处理中20231220
string bzr = "", lxfs = "";//班主任,联系方式
//先依次把bjunit填充剩下的:yhid,lxfs,bzr
//往tb_kcjs中添加数据,先清空数据对应yhid njid
var cx_kcjs = from aa in sjkljty.tb_kcjs
where aa.njid == njid && aa.yhid == yhid
select aa;
foreach(var kk in cx_kcjs)
{
sjkljty.tb_kcjs.DeleteObject(kk);
}
sjkljty.SaveChanges();
System.Threading.Thread.Sleep(100);
string km = "", js = "";//添加科目和教师
//测试
// km = string.IsNullOrWhiteSpace(worksheet_jskc.Cells[2,3].Value.TextValue) ? "" : worksheet_jskc.Cells[2,3].Value.TextValue.Trim();
//Cells[2,3]单元格如果用数字标记,则是索引,从0开始
// bj = Convert.ToInt32(worksheet_jskc.Cells["A" + 4.ToString()].Value.ToString());//班级数字,1:1班,2:2班
//ASPxButton_sz_jskc_bz.JSProperties["ts"] = bj.ToString();
// ASPxButton_sz_jskc_bz.JSProperties;// pcwin.Text =bj.ToString(); // ASPxPopupControl1.Windows.Add(pcwin);
// pcwin.Text =km;
// ASPxPopupControl1.Windows.Add(pcwin);
// return;---成功
strskjs = string.IsNullOrWhiteSpace(worksheet_kcjs.Cells[j, 2].Value.ToString()) ? "" : worksheet_kcjs.Cells[j, 2].Value.ToString().Trim();//每班上课节数
这里tostring(),是任何类型都可以转换为的(除非为null导致错误,但是不知道单元格的类型,用textvalue可能出错,例如整数型,出错没有提示)
//测试一下
// pcwin.Text =km+" "+stryxj+" "+strskjs;
// ASPxPopupControl1.Windows.Add(pcwin);
// return;
if (stryxj!=string.Empty && strskjs!=string.Empty)
{
int yxj = int.Parse(stryxj);
int mbjs = int.Parse(strskjs);//每班该科目上课节数
//开始更新tb_kcjs
var gx_kcjs = from aa in sjkljty.tb_kcjs
where aa.yhid == yhid && aa.njid == njid && aa.kc == km
select aa;
foreach(var kk in gx_kcjs)
{
kk.yxj = yxj;
kk.js = mbjs;
}