将每列分配给相应的复选框

本文关键字:复选框 分配 | 更新日期: 2023-09-27 18:22:48

我有33个复选框,这是一个有自己座位号的巴士座位,我的巴士座位表中也有33列。在我的表单和数据库中,一切都设置好了。但我一直在为复选框分配sql中的值。我可以手动设置

string sql = "SELECT * FROM bus_seats WHERE sefer_id = 1";
using (SQLiteCommand command = new SQLiteCommand(sql, connect))
{
    SQLiteDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        if (Convert.ToInt32(reader["5"]) == 1)
        {
            checkBox5.BackColor = Color.CornflowerBlue;
        }
    }
}

正如您在代码中看到的,reader["5"]是我在sql表中的第5个位置,checkBox5是我在表单中的第五个位置。我不想手动分配它们并创建巨大的"if"语句。有什么简单的方法可以比较列值和复选框值吗?在我的代码中,reader["5"]==1表示第五个座位由女性占据(粉红色),2表示由男性占据(蓝色),0表示空的(灰色)。我正试图通过它们的sql值

将每列分配给相应的复选框

来为复选框的背景颜色着色

如果您的文本框在容器中,请使用该容器id,否则请使用表单id。

string sql = "SELECT * FROM bus_seats WHERE sefer_id = 1";
using (SQLiteCommand command = new SQLiteCommand(sql, connect))
{
     SQLiteDataReader reader = command.ExecuteReader();
     while (reader.Read())
     {
         var seat = reader["seatNumber"].ToString();
         var chk = string.Format("checkBox{0}", seat);
         if (reader["seatTaken"].ToString() == "True")
         {
             ((CheckBox)form1.FindControl(chk)).BackColor = Color.CornflowerBlue;
         }
     }
}