Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在gridview的单个列中获取total checked复选框并将其显示在标签中_C#_Gridview_Checkbox_Desktop Application - Fatal编程技术网

C# 如何在gridview的单个列中获取total checked复选框并将其显示在标签中

C# 如何在gridview的单个列中获取total checked复选框并将其显示在标签中,c#,gridview,checkbox,desktop-application,C#,Gridview,Checkbox,Desktop Application,我需要一些帮助。我搜索了大部分网站,但没有找到我的查询所需的代码。 我正在为窗口应用程序中的“课堂出勤”模块编码,这里有一个gridview,其中包含学生姓名(文本框列)、卷号(文本框列)、出席(复选框列)、缺席(复选框列)、休假(复选框列) 我希望一行中只选中一个复选框 我想在一个名为total present students的标签中显示total present students(表示“present checkbox”列复选框的总数) 如有任何建议,将不胜感激 您可以使用此项统计所有出席

我需要一些帮助。我搜索了大部分网站,但没有找到我的查询所需的代码。 我正在为窗口应用程序中的“课堂出勤”模块编码,这里有一个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
            {
            }
        }