0

データグリッドビューにマルチチェックボックスを表示する必要があります。

2つのチェックボックスを選択すると4つのチェックボックスがあり、datagridviewに2つのチェックボックスが表示されます。

例 2 チェックボックス。

CheckBox missShw

0001
0002

チェックボックス

0003
0004

私は最初に CheckBox missShw を選択し、CheckBox leaveFull を出力します。

0003
0004

または、最初に CheckBox leaveFull を選択し、CheckBox missShw を出力します。

0001
0002

2つのチェックボックスのときに出力が必要です。

0001
0002
0003
0004

今、私は2つのチェックボックスを選択しているので、すべてのデータをdatagridviewに表示していますが、すべてのデータを表示していません

このコード:

public void missShw() 
        {
            SqlConnection conn = new SqlConnection(appConn);
            string sql = "SELECT [filesTA].EmpNo,[Employee].Title + ' ' + [Employee].[First Name] + ' ' + [Employee].[Last Name] as 'FullName',[filesTA].ChkDate"
            + ",Convert(nvarchar(5),[filesTA].ChkIn,108) as 'ChkIn',Convert(nvarchar(5),[filesTA].ChkOut,108) as 'ChkOut"
            + ",[filesTA].LateMin"
            + " From [WebSP].[dbo].[filesTA] inner join [WebSP].[dbo].[Employee] on [Employee].EmployeeNo=[filesTA].EmpNo INNER JOIN [WebSP].[dbo].[CompanyData] On [CompanyData].Company = [Employee].Company"
            + " WHERE [filesTA].ChkDate ='" + dateTimePicker.Value.ToString("yyyy-MM-dd") + "'"
            + " and [Employee].Section = '" + cbSection.SelectedValue + "'"
            + " and [Employee].Team = '" + cbTeam.SelectedValue + "'"
            + " and [filesTA].ErrorCode = '2'";

            da = new SqlDataAdapter(sql, Conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            Conn.Close();

            dgvShow.DataSource = ds.Tables[0];
        }

public void leaveFull()
        {
            SqlConnection conn = new SqlConnection(appConn);
            string sql = "SELECT [filesTA].EmpNo,[Employee].Title + ' ' + [Employee].[First Name] + ' ' + [Employee].[Last Name] as 'FullName',[filesTA].ChkDate"
            + ",Convert(nvarchar(5),[filesTA].ChkIn,108) as 'ChkIn',Convert(nvarchar(5),[filesTA].ChkOut,108) as 'ChkOut"
            + ",[filesTA].LateMin"
            + " From [WebSP].[dbo].[filesTA] inner join [WebSP].[dbo].[Employee] on [Employee].EmployeeNo=[filesTA].EmpNo INNER JOIN [WebSP].[dbo].[CompanyData] On [CompanyData].Company = [Employee].Company"
            + " WHERE [filesTA].ChkDate ='" + dateTimePicker.Value.ToString("yyyy-MM-dd") + "'"
            + " and [Employee].Section = '" + cbSection.SelectedValue + "'"
            + " and [Employee].Team = '" + cbTeam.SelectedValue + "'"
            + " and [filesTA].ErrorCode = '3'";

            da = new SqlDataAdapter(sql, Conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            Conn.Close();

            dgvShow.DataSource = ds.Tables[0];
        }

//missShw()
        private void checkBox4_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox4.Checked == true)
            {
                missShw();                
            }
        }

//leaveFull()
        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox3.Checked == true)
            {
                leaveFull();                
            }
        }

御時間ありがとうございます。:)

4

0 に答える 0