Как показать флажки пользователю, которые сохранены как да в базе данных на веб-интерфейсе? - PullRequest
1 голос
/ 27 января 2020

Это моя сетка, которая является динамической c. Сохраняет описание клиента для каждого флажка. То есть, если я отмечу флажок для Индивидуального, тогда он сохраняет Y в моей базе данных, иначе N. Так что теперь я просто хочу отметить галочкой флажки, которые сохранены в базе данных Y. Ниже приведен код для моей динамической c сетки:

  public string getCustomerStateGrid()
    {
        string html = ""; int Count = 1;



        DataTable dt = getDataTableFromQuery(@"select Id,cuscheckbox,CustomerDescription from CustomerState3");
        html = "<h2>    Customer State </h2><br/><table class=\"display unbreakable\" id=\"tblCustomerDetail\" style=\"width:100%; border-collapse: collapse;\"><thead>";

        #region Header

        html += "<tr><th height='40' class=\"Greyheader\" style=\"width:5%\">S.No</th>";
        html += "<th height='40' class=\"Greyheader\" style=\"width:30%\">Customer Status</th>";

        html += "<th height='40' class=\"Greyheader\" style=\"width:15%\">Customer Description</th>";

        //html += "<th class=\"Greyheader\" style=\"width:12%\">Action</th>";
        html += "</tr></thead>";

        #endregion

        #region Body
        html += "<tbody>";
        if (dt.Rows.Count > 0)
        {
            foreach (DataRow dr in dt.Rows)
            {

                html += "<tr class=\"GreyBorder\" id='tblCustomerDetail_" + dr["Id"].ToString() + "' pkid=\"" + dr["Id"].ToString() + "\"  class=\"DataRow\">";
                html += "<td class=\"GreyBorder\" style=\"text-align:center !important;\">" + Count + "</td>";


                html += "<td class=\"GreyBorder\"><input  id='txtcuscheckbox_" + dr["Id"].ToString() + "' type=\"checkbox\" style=\" text-align: right; width:95;\" value='" + dr["cuscheckbox"].ToString() + "' class=\"mediumTextField Customer Status\" /></td>";
              html += "<td class=\"GreyBorder\"><input  id='txtCustomerDescription_" + dr["Id"].ToString() + "' type=\"textbox\" style=\" text-align: right; width:95;\" value='" + dr["CustomerDescription"].ToString() + "' class=\"mediumTextField Customer Description\" /></td>";


                html += "</tr>";
                Count++;


            }
        }
        else
        {


            html += "<tr class=\"GreyBorder\" ><td style=\"text-align:center !important;\" class=\"GreyBorder\"  colspan='6'>No Data.</td></tr>";

            html += "</tr>";
        }

        html += "</tbody>";

        #endregion

        html += "<tfoot><tr class='GreyBorder'>";

        html += "<td class='GreyBorder' colspan='2'></td> ";
        html += "</tr></tfoot>";

        html += "</table><br/>";


        return html.ToString();

    }

Я просто хочу настроить эту строку кода

           html += "<td class=\"GreyBorder\"><input  
      id='txtcuscheckbox_" + dr["Id"].ToString() + "' 
       type=\"checkbox\" 
      style=\" text-align: right; width:95;\" value='" + d 
      dr["cuscheckbox"].ToString() + "' class=\"mediumTextField 
      Customer Status\" /></td>";

, чтобы она отображалась в галочке. Может ли кто-нибудь изменить мой код для достижения этого результата? Есть ли способ, которым мы можем сделать, используя троичный оператор? enter image description here

1 Ответ

0 голосов
/ 27 января 2020

Ну, по сути, вам нужно:

var isChecked = 'Y';
html += isChecked == 'Y' ? "<input type=\"checkbox\" checked>" : "<input type=\"checkbox\">";

Однако вы смешиваете интерфейс с логикой c. Не лучше ли создать конечную точку JSON, которая возвращает данные внешнему интерфейсу, и внешний интерфейс генерирует HTML?

РЕДАКТИРОВАТЬ:

Чтобы изменить текущие логи c вы можете заменить строку для создания текстового поля на что-то вроде этого:

var isChecked = dr["cuscheckbox"].ToString().ToUpper() == "Y" ? "checked" : string.Empty;
html += $"<td class=\"GreyBorder\"><input  id='txtcuscheckbox_{dr["Id"].ToString()}' type=\"checkbox\" style=\" text-align: right; width:95;\" class=\"mediumTextField Customer Status\" {isChecked}/></td>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...