Sorry but that didn't help and I think this was my fault I didn't explained myself the better way...
Let's get this step by step:
1. First, SfDataGrid Selection Mode = Extended
2. When user selects a cell or row, I get the Id of clicked Row...
private void data_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
{
int rowIndex = e.DataRow.RowIndex;
int columnIndex = data.TableControl.ResolveToGridVisibleColumnIndex(0);
if (columnIndex < 0)
return;
var mappingName = data.Columns[columnIndex].MappingName;
var recordIndex = data.TableControl.ResolveToRecordIndex(rowIndex);
if (recordIndex < 0)
return;
if (data.View.TopLevelGroup != null)
{
var record = data.View.TopLevelGroup.DisplayElements[recordIndex];
if (!record.IsRecords)
return;
var data = (record as RecordEntry).Data;
SelectedRow = Convert.ToInt32(data.GetType().GetProperty(mappingName).GetValue(data, null));
}
else
{
var record1 = data.View.Records.GetItemAt(recordIndex);
SelectedRow = Convert.ToInt32(record1.GetType().GetProperty(mappingName).GetValue(record1, null));
}
BtnDelete.Visible = true;
}
3. Only when User clicks one or more rows, the delete button is visible.
4. When user clicks delete button, I'll check if selected rows is 1 or more and then, delete one or more lines, but it's on the multiple lines where I'm getting some issues...
List<int> list = new List<int>();
private void BtnDelete_Click(object sender, EventArgs e)
{
if(dataTiposReq.SelectedItems.Count == 1)
{
var delete = ctx.TipoRequisito.FirstOrDefault(s => s.Id == SelectedRow);
try
{
ctx.SaveChanges();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
else
{
foreach(var row in dataTiposReq.SelectedItems)
{
//How to get first column value from each multi selected rows
list.Add(someId);
}
foreach(var item in list)
{
var delete = ctx.TipoRequisito.Add(s => s.Id == item).FirstOrDefault();
try
{
ctx.SaveChanges();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
If I get how to manage the multiple Row and get the first column value (Id) from each selected row, then I can delete each of selected row...
Hope this explain helps.
Thanks.