tengo una cuadrícula de datos con datos de MySQL y columnas de casillas de verificación
aquí está el código
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" />
Ahora necesito sólo la primera columna se puede editar la casilla de verificación, para permitir el uso del usuario, ver el pic
i necesidad de restringir la edición en el resto de los datos, excepto la columna de la casilla de verificación Sólo lectura que he probado en XAML pero se está restringiendo el montaje incluso en la primera columna no sé cómo agregar filas manualmente mientras iam usando MySqlCommand
Me gustaría empezar antes de su línea de código data2.ItemsSource = data.DefaultView;
. Recuerde que ya había quedado fuera IsReadOnly="true"
en su cuadrícula de datos XAML
ajuste de sólo lectura sencilla
foreach (DataColumn col in data.Columns)
{
if (col.ColumnName == "Select")
col.ReadOnly = false;
else
col.ReadOnly = true;
}
dataGrid.ItemsSource = data.DefaultView;