Создание кнопок по идентификатору - PullRequest
0 голосов
/ 06 марта 2020

Привет всем

con.Close();
            int buttoncounter= -1;
            {
                SqlCommand cmd = new SqlCommand("select count(*) from buttons", con);
                con.Open();
                buttoncounter = Convert.ToInt32(cmd.ExecuteScalar()) + 1;
                con.Close();
            }

Я считаю, сколько строк у меня в базе данных

for (int i = 1; i < buttoncounter; i++)
        {

            var buttonmenu = new Button
            {

                HeightRequest = 100,
                WidthRequest = 100,
                Margin = 5,
                CornerRadius = 15,
                BackgroundColor = Color.FromRgb(192, 192, 192),

            };
            con.Close();
            buttonmenu.Clicked += butonmenu;
            buttons.Children.Add(buttonmenu);
            if (con.State.ToString() == "Open")
            {

            }
            else
            {
                con.Open();
            }
            SqlCommand getir = new SqlCommand("select * from butonlar where id = '" + i.ToString() + "'", con);
            SqlDataReader dr = getir.ExecuteReader();
            while (dr.Read())
            {

                buttonmenu.Text = dr.GetValue(0).ToString();
                con.Close();
                break;
            }

Я создаю кнопки с помощью этого метода, давайте подумаем, что мы имеют 4 значения в buttons. если пользователь удалит строку 2, то это будет 1,3,4, и программа создаст 4 кнопки, и 2. имя кнопки будет пустым, я должен предотвратить создание пустой кнопки

id is не пк

Ответы [ 2 ]

0 голосов
/ 07 марта 2020

ребята, я решил проблему

код обновлен:

SqlCommand getirme = new SqlCommand("select * from butonlar where id = '"+i.ToString()+"'", baglanti);
                SqlDataReader okumasa = getirme.ExecuteReader();
                while (okumasa.Read())
                {
                    value = okumasa.GetValue(2).ToString();
                    break;

                }
                // check is value is empty before creating button
                if (value == i.ToString())
                {
                    var buttonmenu = new Button
                    {

if (value == i.ToString()) до этого было установлено для определения, какая запись является нулевой , но теперь сравнивает id и i и , если совпадает с id, создает кнопку.

0 голосов
/ 07 марта 2020

Если вы хотите запретить создание кнопки, когда текст равен нулю, вам нужно немного переставить логи c, чтобы выполнить запрос, ДО того, как вы создадите кнопку

var value = dr.GetValue(0).ToString();

// check is value is empty before creating button
if (!string.IsNullOrEmpty(value)) {
  var buttonmenu = new Button
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...