Столбцы данных только для чтения с sql - PullRequest
0 голосов
/ 04 апреля 2020

у меня есть сетка данных с mysql столбцами данных и флажков

вот код

    MySqlCommand cmd = m.getmodel("select * from " + equip + " where stored=" + type);
    MySqlDataAdapter dataAdapter = new MySqlDataAdapter(cmd);
    DataTable data = new DataTable(equip);
    dataAdapter.Fill(data);
    var checkBoxColumn = new DataColumn("Select", typeof(bool));
    data.Columns.Add(checkBoxColumn);

    checkBoxColumn.SetOrdinal(0); // Move column to the beginning
    foreach (DataRow row in data.Rows)
    {
        row["Select"] = false;

    }

    data2.ItemsSource = data.DefaultView;
    checkBoxColumn.ReadOnly = false;

XAML

   <DataGrid Margin="736,166,10,130"
                  Grid.Column="4"
                  Grid.Row="4"
                  IsReadOnly="true"
                  CanUserAddRows="false"
                  x:Name="data2"
                  SelectionChanged="DataGrid_SelectionChanged" />

теперь мне нужен ТОЛЬКО первый столбец редактируемый, чтобы позволить пользователю использовать флажок, см. pi c

d

мне нужно ограничить редактирование остальных данных, КРОМЕ столбец флажка, который я пробовал только для чтения в xaml, но он ограничивает редактирование даже в первом столбце, я не знаю, как добавлять строки вручную, когда я использую mysqlcommand

1 Ответ

0 голосов
/ 04 апреля 2020

Я бы начал до вашей строки кода data2.ItemsSource = data.DefaultView;. Помните, что вы уже удалили IsReadOnly="true" в вашей DataGrid XAML

Простая настройка только для чтения

        foreach (DataColumn col in data.Columns)
        {
            if (col.ColumnName == "Select")
                col.ReadOnly = false;
            else
                col.ReadOnly = true;
        }

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