解决方案 »
- 请问toolStrip里的BTN按键如何实现回车按键
- 小问题:冠以listbox中的个别语句不明白
- 在函数参数的地方需要一个硬盘上的bmp图像物理路径文件名字符串,我想在这个参数的位置上使用资源中的bmp图像,如何变通一下?
- 谁给解释下C#中的泛型与迭代器呀
- 求救nhibernate的问题.
- 在JavaScript中怎么去访问<iframe></iframe>控件中的值?
- 大家看看这段C#为什么不执行循环
- dbo 读取EXCEL 怎么获取EXCEL 行号?
- 救命呀!急 再线等
- vs2012 DATAGRID的问题
- string.Format("{0,-4}",i)中{0,-4}是什么意思
- 如何遍历datagridview的第一列
Int32 irow = 3;//行数
Int32 icount = 6;//每行数据个数
string str = string.Empty;
int iss = 0; for (int i = 1; i <= irow; i++)
{
for (int j = 1; j <= icount; j++)
{
if (i % 2 != 0)
{
iss = (i*icount +1-j);
str += iss.ToString() + " " ;
}
else
{
iss = ((i - 1) * icount + j);
str += iss.ToString() + " ";
// System.Console.WriteLine(str);
//str = string.Empty;
}
}
System.Console.WriteLine(str);
str = string.Empty;
iss = 0;
}
public IList<ExamRoom> FindStudentByRoom(string courseCode, long pointId, long roomId, bool photoMore, bool codePhotoMore)
{
IList<vPointRoomStudent> list = studentClient.findStudentByCourseAndPointAndRoom(user.SessionID, courseCode, pointId, roomId);
if (list == null || list.Count < 1)
return null; int count = list.Count;
ExamRoom r = new ExamRoom();
RoomStudentItem item = new RoomStudentItem();
IList<ExamRoom> rs = new List<ExamRoom>();
int itemIndex = 1;
for (int i = 0; i < count; i++)
{
vPointRoomStudent rp = list[i];
if (i == 0)
{
r = new ExamRoom();
r.PointName = rp.pointName;
r.CourseName = rp.courseName;
r.RoomNO = rp.roomNumber.ToString().PadLeft(3,'0'); r.StudentItems = new List<RoomStudentItem>();
item = new RoomStudentItem();
item.ItemId = itemIndex++;
item.Students = new List<Student>();
} Student s = new Student();
s.StudentName = rp.studentName;
s.CardCode = rp.cardCode;
s.RoomNO = rp.roomNumber.ToString().PadLeft(3,'0'); if (photoMore)
{
DownloadPhoto(rp.studentId, rp.code);
s.PhotoPath = SetPhotoPath() + rp.code + ".jpg";
}
if (codePhotoMore)
{
s.CodePhotoPath = DownloadCodePhoto(rp.cardCode, true);
} item.Students.Add(s); if ((i + 1) % 6 == 0 || (i + 1) == count)
{
r.StudentItems.Add(item);
if ((i + 1) != count)
{
item = new RoomStudentItem();
item.ItemId = itemIndex++;
item.Students = new List<Student>();
}
} if ((i + 1) == count)
{
rs.Add(r); r = new ExamRoom();
r.PointName = rp.pointName;
r.CourseName = rp.courseName;
r.RoomNO = rp.roomNumber.ToString().PadLeft(3,'0'); r.StudentItems = new List<RoomStudentItem>();
item = new RoomStudentItem();
item.ItemId = itemIndex++;
item.Students = new List<Student>();
}
}
return rs;
}
private void OnSubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
ReportParameterInfo pi = e.Parameters["RoomNO"];
ExamRoom r = GetItemByNO(pi.Values[0]);
if (r == null)
return;
if (e.Parameters["Index"] == null)
{
e.DataSources.Add(new ReportDataSource("RoomStudentItem", r.StudentItems));
return;
} pi = e.Parameters["Index"];
int index = Convert.ToInt32(pi.Values[0]);
int itemIndex = Convert.ToInt32(e.Parameters["ItemIndex"].Values[0]) - 1;
Student s = GetStudentByIndex(r, itemIndex, index);
if (s == null)
{
e.DataSources.Add(new ReportDataSource("Student", new Student[] { }));
return;
}
e.DataSources.Add(new ReportDataSource("Student", new Student[1] { s }));
} private Student GetStudentByIndex(ExamRoom r, int itemIndex, int index)
{
if (r.StudentItems.Count < (itemIndex + 1))
return null; RoomStudentItem item = r.StudentItems[itemIndex];
if (item == null || item.Students == null || item.Students.Count < (index + 1))
return null; return item.Students[index];
} private ExamRoom GetItemByNO(string p)
{
foreach (ExamRoom i in list)
{
if (i.RoomNO == p)
return i;
}
return null;
}