If e.Form.Controls("ComboBox4").value > ""
Dim p As WinForm.ProgressBar
p = e.Form.Controls("ProgressBar1")
p.Maximum = MainTable.Rows.Count '设置最大值
p.Minimum = 0 '设置最小值
p.Value = 0 '设置当前值
Dim ksmc As String = e.Form.controls("combobox4").value
Dim dt As DataTable = DataTables("成绩")
Dim Arys As List(Of String()) = dt.GetValues("学校代码|年级代码|考试名称","考试名称 = '" & ksmc & "' And 单位名称 = '" & _usergroup & "'")
e.Form.StopRedraw
For Each Ary As String() In Arys
Dim szbj As String = e.Form.Controls("CheckedComboBox1").text
MessageBox.show(szbj)
Dim filter As String = CExp("学校代码='{0}' and 年级代码='{1}'",Ary(0),Ary(1))
Dim bhstr As String = Ary(1) & Ary(0)
Dim bj As List(Of String) = dt.GetValues("班级",filter & " and 班级 in ('01','02')","班级")
Dim bjlist As new List(Of List(of DataRow))(bj.Count)
Dim max As Integer = 0
For Each s As String In bj
Dim lst As List(of DataRow) = dt.Select(filter & " And 班级 ='" & s & "'","姓名")
If max < lst.Count Then max = lst.Count
bjlist.add(lst)
Next
Dim idx As Integer = 1
Dim dr As DataRow
For i As Integer = 0 To max - 1
For j As Integer = 0 To bjlist.Count - 1
Dim lst As List(of DataRow) = bjlist(j)
If i < lst.Count Then
dr = lst(i)
If dr("考号锁定") = False
dr("考号") = bhstr & Format(idx,"0000")
idx += 1
p.Value = i
End If
End If
Next
Next
bj = dt.GetValues("班级",filter & " and 班级 not in ('01','02')","班级")
bjlist.Clear
max = 0
For Each s As String In bj
Dim lst As List(of DataRow) = dt.Select(filter & " And 班级 ='" & s & "'","姓名")
If max < lst.Count Then max = lst.Count
bjlist.add(lst)
Next
idx = 1
dr = Nothing
For i As Integer = 0 To max - 1
For j As Integer = 0 To bjlist.Count - 1
Dim lst As List(of DataRow) = bjlist(j)
If i < lst.Count Then
dr = lst(i)
If dr("考号锁定") = False
dr("考号") = bhstr & Format(idx,"0000")
idx += 1
p.Value = i
End If
End If
Next
Next
Next
Dim t As Table = Tables("初中报名_Table1")
t.Sort = "考试名称,考号"
e.form.ResumeRedraw
p.value = 0
Else
MessageBox.show("请选择考试名称","提示")
End If
老师,接着1楼的问题,因需要将排号进行改进,想法是一个年级某次考试排号时可能有需要将01,02班混排,其余班混排,(针对有快慢班)。现在有几个情况:1、如何使快班排完后在排慢班时的号与快班的最大号接着排,2、窗口中加一个checkedcombobox 来选快班,未选的为慢班,这样如何写,谢谢