Вставьте значение в текстовое поле, когда флажок установлен - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть форма, которая добавляет поставщиков с использованием SQL

В таблицу Supplier

входит SupplierID, SupplierName, SupplierProduceType, SupplierPhone

Form page

У меня нет проблем с идентификатором, именем и телефоном, однако тип продукта затруднен, так как есть 1-5 вариантов, которые можно выбрать

Я хочу, чтобы в текстовом поле отображалось beef,pork,chicken,lamb,sauce (разделенных запятыми), если отмечены 5, очевидно, если выбраны только 3, я хочу, чтобы только эти 3 отображались

когда я нажму кнопку добавления поставщика, код sql будет:

sql = "INSERT INTO[Supplier](SupplierID, SupplierName, SupplierProduceType, SupplierPhone) Values('" + Convert.ToInt32(SupplierIDTB.Text) + "', '" + SupplierNameTB.Text + "', '" + SupplierProduceTypeTB.Text + "', '" + Convert.ToInt32(SupplierPhoneTB.Text) + "')";

Таким образом, когда код sql читает из SupplierProduceTypeTB.Text, он будет читать «говядина, свинина, курица, баранина, соус» (если проверены все 5) и вводить это в столбец SupplierProduceType

Пока у меня есть:

protected void BeefCB_CheckedChanged(object sender, EventArgs e)
    {
        String input1 = "beef,";
        SupplierProduceTypeTB.Text += input1;
    }

но это ничего не делает!

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Так что мне нужно было сделать оператор if в кнопке добавления поставщика:

if (BeefCB.Checked) {
            String input1 = "beef,";
            string textboxValue = SupplierProduceTypeTB.Text;
            SupplierProduceTypeTB.Text = textboxValue + input1;
        }

        if (PorkCB.Checked) {
            String input1 = "pork,";
            string textboxValue = SupplierProduceTypeTB.Text;
            SupplierProduceTypeTB.Text = textboxValue + input1;
        }

        if (ChickenCB.Checked) {
            String input1 = "chicken,";
            string textboxValue = SupplierProduceTypeTB.Text;
            SupplierProduceTypeTB.Text = textboxValue + input1;
        }

        if (LambCB.Checked) {
            String input1 = "lamb,";
            string textboxValue = SupplierProduceTypeTB.Text;
            SupplierProduceTypeTB.Text = textboxValue + input1;
        }

        if (SauceCB.Checked) {
            String input1 = "sauce";
            string textboxValue = SupplierProduceTypeTB.Text;
            SupplierProduceTypeTB.Text = textboxValue + input1;
        }
0 голосов
/ 02 апреля 2019

Вам просто нужно немного изменить свой код.

попробуйте ниже код

     protected void BeefCB_CheckedChanged(object sender, EventArgs e)
     {
           SupplierProduceType();
     }
     protected void PorkCB_CheckedChanged(object sender, EventArgs e)
     {
           SupplierProduceType();
     }
     protected void ChickenCB_CheckedChanged(object sender, EventArgs e)
     {
           SupplierProduceType();
     }
     protected void LambCB_CheckedChanged(object sender, EventArgs e)
     {
           SupplierProduceType();
     }
     protected void SauceCB_CheckedChanged(object sender, EventArgs e)
     {
           SupplierProduceType();
     }

     private void SupplierProduceType()
     {
           string produceType = string.Empty;
           if(BeefCB.Checked)
           {
               produceType = "Beef, ";
           }
           if(PorkCB_Checked)
           {
               produceType += "Pork, ";
           }
           if(ChickenCB_Checked)
           {
               produceType += "Chicken, ";
           }
           if(LambCB_Checked)
           {
               produceType += "Lamb, ";
           }
           if(SauceCB_Checked)
           {
               produceType += "Sauce, ";
           }
           SupplierProduceTypeTB.Text = produceType;
    }

As + = не будет работать для свойства textbox.Text.

Попробуйте это, создав функцию и вызывая ее каждый метод checkbox checkchange.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...