C# 如何在gridview的单个列中获取total checked复选框并将其显示在标签中
我需要一些帮助。我搜索了大部分网站,但没有找到我的查询所需的代码。 我正在为窗口应用程序中的“课堂出勤”模块编码,这里有一个gridview,其中包含学生姓名(文本框列)、卷号(文本框列)、出席(复选框列)、缺席(复选框列)、休假(复选框列)C# 如何在gridview的单个列中获取total checked复选框并将其显示在标签中,c#,gridview,checkbox,desktop-application,C#,Gridview,Checkbox,Desktop Application,我需要一些帮助。我搜索了大部分网站,但没有找到我的查询所需的代码。 我正在为窗口应用程序中的“课堂出勤”模块编码,这里有一个gridview,其中包含学生姓名(文本框列)、卷号(文本框列)、出席(复选框列)、缺席(复选框列)、休假(复选框列) 我希望一行中只选中一个复选框 我想在一个名为total present students的标签中显示total present students(表示“present checkbox”列复选框的总数) 如有任何建议,将不胜感激 您可以使用此项统计所有出席
如有任何建议,将不胜感激 您可以使用此项统计所有出席的学生(如评论中所述,如果有人不在场,则默认情况下他们缺席)
至于只勾选一个复选框,请参考此我自己通过以下代码找到了答案: 首先,我在gridview中将复选框True设置为1,将复选框false设置为0,并应用以下代码:-
private int countPresenttudents()
{
int d = 0, e = 0;
for (int i = 0; i < (dgvAttendance.Rows.Count - 1); i++)
{
d = Convert.ToInt32(dgvAttendance.Rows[i].Cells["Absent"].Value.ToString());
e = e + d; //storing total qty into variable
}
return e;
}
如果您以这种方式呈现,这将更容易可视化。似乎“出席”和“缺席”复选框都是多余的-如果未选中“出席”,则默认情况下他们缺席。感谢您的建议,但也有“休假”状态。因此,如果我们对学生的每个状态(即出席、缺席或休假)都有不同的复选框,这看起来很好。感谢您的帮助,我在StackOverflow上的Post中找到了所需的方法,一行中有一个复选框。当我尝试上面的代码时,请解释一下if(Student[row][2]。选中)中的“Student”是什么。如果您在解决方案中使用了我链接的帖子上的答案,请确保对该答案投赞成票。请仅帮助一件事,有时单元格值为null表示false,有时为0(因为我在其属性中设置了0)。因此,空值不能转换为int。
private int countPresenttudents()
{
int d = 0, e = 0;
for (int i = 0; i < (dgvAttendance.Rows.Count - 1); i++)
{
d = Convert.ToInt32(dgvAttendance.Rows[i].Cells["Absent"].Value.ToString());
e = e + d; //storing total qty into variable
}
return e;
}
private void btnGetTotal_Click(object sender, EventArgs e)
{
try
{
lblPresent.Text = Convert.ToString(countpresent());
lblAbsent.Text = Convert.ToString(countabsent());
lblLeave.Text=Convert.ToString(countleave());
}
catch
{
}
}