以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 排号 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=136483) |
-- 作者:刘林 -- 发布时间:2019/6/14 10:51:00 -- 排号 Dim dt2 As Table = Tables("初中报名_table2") Dim c4 As String = e.Form.Controls("combobox4").text Dim c7 As String = e.Form.Controls("combobox7").text Dim drcj As String = c7 & "成绩" Dim rb3 As WinForm.RadioButton = e.Form.Controls("RadioButton3") Dim rb4 As WinForm.RadioButton = e.Form.Controls("RadioButton4") If dt2.Rows.Count>0 If c4 > "" And c7>"" Dim p As WinForm.ProgressBar p = e.Form.Controls("ProgressBar1") p.Maximum = dt2.rows.Count\'设置最大值 p.Minimum = 0 \'设置最小值 p.Value = 0 \'设置当前值 Dim i As Integer=0 Dim Arys As List(Of String) = DataTables("学生信息").GetValues("年级") Dim n As Integer=0 For Each ary As String In arys Dim lbs As List(Of DataRow) If rb3.checked=True lbs= DataTables("学生信息").Select("年级 =\'" & ary & "\'",drcj & " desc") End If If rb4.checked=True lbs = DataTables("学生信息").S elect("年级 =\'" & ary & "\'",drcj) End If n=0 For Each lb As DataRow In lbs Dim dr As DataRow = DataTables("成绩").find("身份证件号=\'" & lb("身份证件号") & "\'") If dr Is Nothing Then dr = DataTables("成绩").AddNew() dr("学段") = "初中" dr("班级全称")= lb("班级") dr("考试名称")=c4 dr("身份证件号")=lb("身份证件号") dr("单位名称")=_usergroup dr("姓名")= lb("学生姓名") i=i+1 p.value=i dr("考号")=dr("年级代码") & dr("学校代码") & Format(n+1,"0000") n=n+1 Next Next Forms("初中报名").Controls("Label2").text = "学生考号表" & dt2.Rows.count & "人" Forms("初中报名").Controls("Label14").text = "学生考号表" & dt2.Rows.count & "人" Dim dt1 As DataTable = DataTables("成绩") Dim cb1 As WinForm.ComboBox = e.form.Controls("ComboBox1") cb1.ComboList =" |" & dt1.GetComboListString("年级") p.value=0 Else messagebox.show("请选择好本次考试名称和要克隆考试名称","提示",MessageBoxButtons.OK) End If Else messagebox.show("请选择好本次要参考的学生") End If 老师,请问我想将这个代码改进为按成绩排的同时交替同年级班级,即1班成绩最高的排1号,2班成绩最高的排2班,然后依次循环
|
-- 作者:有点甜 -- 发布时间:2019/6/14 10:57:00 -- 那全部代码要改。
先根据年级、班级,排序得到各班的次序,然后从次序1开始抽取,循环到最后。
具体项目发上来测试。 |
-- 作者:有点甜 -- 发布时间:2019/6/14 10:59:00 --
建议你换一种思路,如果前一个或者前几个有同班的,就先排后面的学生。直到没有同班的,再把他插上。
|
-- 作者:刘林 -- 发布时间:2019/6/14 11:28:00 -- 这个就研究不出来了,请老师帮改研究下,谢谢 |
-- 作者:有点甜 -- 发布时间:2019/6/14 12:06:00 -- 请上传具体项目测试 |