如何在datagridview窗口中使用运行条件在新列中添加当前缺席值C# [英] How to add present absent value in new column using condition on runtime in datagridview windows form C#

查看:74
本文介绍了如何在datagridview窗口中使用运行条件在新列中添加当前缺席值C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I want to add attendance condition on runtime in datagridview.. for example if time is <= 09:45:00 then show present else if time is null then show absent in P/A column and then add in database using datagridview windows form c#









image(https://i.stack.imgur.com/SdF5d.png)



我尝试过:







image ( https://i.stack.imgur.com/SdF5d.png )

What I have tried:

   try
{
              SqlCommand ucd = new SqlCommand("indiviual_attendence", ConnectionString.Getconnection());
              ucd.CommandType = CommandType.StoredProcedure;
              ucd.Parameters.Add("@id", SqlDbType.Int).Value = 2;
              ucd.Parameters.Add("@empcode", SqlDbType.NVarChar).Value = value;
              SqlDataAdapter sda = new SqlDataAdapter(ucd);
              dt = new DataTable();
              sda.Fill(dt);
              if (dt.Rows.Count > 0)
              {
                  textBox2.Text = dt.Rows[0][0].ToString();
              }
              ConnectionString.closeconnection();
              if (textBox2.Text != "")
              {
                  cmd = new SqlCommand("indiviual_attendence", ConnectionString.Getconnection());
                              cmd.CommandType = CommandType.StoredProcedure;
                             cmd.Parameters.Add("@id",SqlDbType.Int).Value = 3;
                             cmd.Parameters.Add("@empcode",SqlDbType.NVarChar).Value = "%"+value;
                  SqlDataAdapter sd = new SqlDataAdapter(cmd);
                  dt = new DataTable();
                  sd.Fill(dt);
                  if (dt.Rows.Count > 0)
                  {
                      dataGridView1.DataSource = dt;
                      dataGridView1.Columns[0].HeaderText = "Code";
                      dataGridView1.Columns[1].HeaderText = "Name";
                      dataGridView1.Columns[2].HeaderText = "Department";
                      dataGridView1.Columns[3].HeaderText = "Year";
                      dataGridView1.Columns[4].HeaderText = "Month";
                      dataGridView1.Columns[5].HeaderText = "Day";
                      dataGridView1.Columns[6].HeaderText = "Time";
                      dataGridView1.Columns[7].HeaderText = "Status";
                      dataGridView1.Columns[8].HeaderText = "EMP/MACH-CODE";  
                      dataGridView1.Columns[9].HeaderText = "Attendance_id";
                      dataGridView1.Columns[9].Visible = false;
                     dataGridView1.Columns[10].HeaderText = "P/A";
                     // dataGridView1.Columns["Attendance_id"].Visible = false;
                      dataGridView1.AllowUserToAddRows = false;
                      dataGridView1.AllowUserToResizeColumns = false;
                      dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
                      this.dataGridView1.DefaultCellStyle.BackColor = Color.GhostWhite;

                  }

                  ConnectionString.closeconnection();
              }
          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.Message);
              ConnectionString.closeconnection();
          }

    }

推荐答案

派生数据通常不存储在数据库中;它仅在运行时计算;使用表达式创建计算列:



DataColumn.Expression属性(System.Data) [ ^ ]
"Derived" data is not generally stored in a database; it is calculated at run time only; create a "calculated" column using an expression:

DataColumn.Expression Property (System.Data)[^]


这篇关于如何在datagridview窗口中使用运行条件在新列中添加当前缺席值C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆