如何在网格视图的单列中获取总选中复选框并将其显示在标签中
本文关键字:复选框 标签 显示 网格 视图 获取 单列中 | 更新日期: 2023-09-27 18:32:50
我需要一些帮助。我主要搜索网站,但没有找到所需的查询代码。我正在窗口应用程序中为"出勤"模块编码,这里我有一个网格视图,其中包含学生姓名(文本框列),滚动号(文本框列),存在(复选框列),缺席(复选框列),请假(复选框列)。
- 我只希望一行选中一个复选框。
- 我想在标签中显示在校学生总数(表示选中"礼物复选框"列复选框的总数)名称在校学生总数。
任何建议将不胜感激。 GridView 屏幕截图
您可以使用
它来计算所有在场的学生(如评论中所述,如果有人不在场,则默认情况下他们缺席)
int present = 0;
foreach (DataRow row in Students.Rows)
{
if (Student[row][2].Checked)//where i is the column in the datagridview
{
present++
}
}
至于只选中一个框,请参考StackOverflow上的这篇文章
我自己通过以下代码找到了答案:首先,我将 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;
}
并将其应用于标签-
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
{
}
}