Stop Datagrid selecting first row by default

wpf datagrid select row programmatically
vb6 datagrid select row programmatically
get selected row in datagrid wpf mvvm
wpf datagrid highlight selected row
wpf datagrid scrollintoview
datagrid select item
wpf datagrid arrow key navigation
wpf datagrid add row programmatically

I am using Wpf Toolkit DataGrid. Whenever I assign Itemssource to it, its first item get selected and its selectionChanged event gets called. How can I stop it to select any row by default?

Check if you have set IsSynchronizedWithCurrentItem="True" and you require it to be set alike?

<DataGrid IsSynchronizedWithCurrentItem="True" ... 

With set this property to true, the selection of the first item is the default-behaviour.

WPF DataGrid: Cancel the first row selection by default, xaml: <dg:DataGrid Name="SC_dgList" CanUserAddRows="False" Loaded=" SC_dgList_Loaded">. cs: private void SC_dgList_Loaded(object� I have a dataGridView control in Window Form Application. Three columns are added to the dataGridView. I added 20 empty rows into dataGridView in order to show some blank cells.(Otherwise dataGridView just shows grey area). On dataGridView control, I add three column "a","b", "c". In form load, I add this, dataGridView1.Rows.Add(20);

Chances are that your DataGrid is bound to a collection like PagedCollectionView that has a CurrentItem property. This property is auto-synchronized with the selected row, in both directions. The solution would be to set the CurrentItem to null. You can do it like this:

PagedCollectionView pcv = new PagedCollectionView(collection);
pcv.MoveCurrentTo(null);
dataGrid.ItemsSource = pcv;

This is especially helpful in Silverlight, which has no DataGrid.IsSynchronizedWithCurrentItem property...

WPF DataGrid select first row by default - MSDN, I would that my DataGrid set the default selected first row. If it is possible. How to do it? I'm coding VB. Thanks. Friday, March 31,� In one of my form i put the DataGridView Control and i am populating this dataGridViewControl Dynamically using my custom functions. Now after populating the above control, is there any way to programatically select the first row of that DataGridViewview. Note: the Selection mode property of this DataGridView is set to "Full row Select"

HCL's answer is correct, but for fast and loose readers such as me, it proved confusing and I ended up spending some more time looking around investigating other things before coming back here and reading carefully.

<DataGrid IsSynchronizedWithCurrentItem="False" ... 

Is the bit we're interested in, not its antagonist!

To add some value of my own: the property IsSynchronizedWithCurrentItem=True means the grid's CurrentItem will be synchronized with the collection's current item. Setting IsSynchronizedWithCurrentItem=False is what we want here.

For Xceed's Datagrid users (such as I was in this case), that'll be SynchronizeCurrent=False

WPF DataGrid | First Row is Always Selected, Get staretd with Telerik's WPF DataGrid and learn how not to have the first row selected by default. Basically, even after running.ClearSelection()on the DataGridView (with SelectionMode being FullRowSelect), there was still a little cursor indicator on the first row despite it not being highlighted. And it was preventing the RowEnterevent from firing if you clicked the first row prior to clicking a different row.

I tried a number of different things but what worked for me was to capture the first selection event and "undo" it by unselecting all on the datagrid.

Here's the code to make this work, I hope it's beneficial to someone else :)

/* Add this inside your window constructor */
this.myDataGrid.SelectionChanged += myDataGrid_SelectionChanged;

/* Add a private boolean variable for saving the suppression flag */
private bool _myDataGrid_suppressed_flag = false;

/* Add the selection changed event handler */
void myDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    /* I check the sender type just in case */
    if (sender is System.Windows.Controls.DataGrid)
    {
         System.Windows.Controls.DataGrid _dg = (System.Windows.Controls.DataGrid)sender;

        /* If the current item is null, this is the initial selection event */
         if (_dg.CurrentItem == null)
         {
              if (!_myDataGrid_suppressed_flag)
              {
                    /* Set your suppressed flat */
                    _dgRateList_suppressed_flag = true;
                    /* Unselect all */
                    /* This will trigger another changed event where CurrentItem == null */
                    _dg.UnselectAll();

                    e.Handled = true;
                    return;
              }
         }
         else
         {
                /* This is a legitimate selection changed due to user interaction */
         }
    }
}

How to programmatically select and focus a row or cell in a DataGrid , It is however possible to select and focus a row in code and get the The DataGrid control in WPF 4.5 by default uses user interface select the first cell of the first row */ And don't forget to disable ColumnVirtualization. >>When I open my VB form with DataGrid the first row marker by default is selected. I suggest you can include all necessary code snippets for anyone else to be able to reproduce your issue from scratch along with a detailed description about the results including any exception messages. As far as I know, WPF DataGrid will not select the first row.

C# Windows Forms, Rows[0].Selected = True 'this in C#. Default Keyboard and Mouse Handling in the If you set the Enabled property to False to disable a datagridview and then later FirstVisibleColumn, Gets the index of the first visible column in a grid. Selecting multiple rows. By making some slight modifications to the SelectRowByIndex method, or by creating another method, you could also select several rows provided that the SelectionMode property of the DataGrid control is set to DataGridSelectionMode.Extended, which it is by default. The following sample code selects both the “Product B

DataGridView first column,first row, is selected on Load, I don't want , how to disable default row selection in datagridview auto select first row datagridview c# c# datagridview select row on click datagridview not selected By default, users can select multiple rows, columns, or cells by dragging with the mouse, pressing CTRL or SHIFT while selecting to extend or modify a selection, or clicking the top-left header cell to select all cells in the control. To prevent this behavior, set the MultiSelect property to false.

Selection in WPF DataGrid control, Learn about Selection support in Syncfusion WPF DataGrid (SfDataGrid) control and more details. You can disable selection on particular row or cell or column by handling SelectedItem denotes the first selected row in multiple selection. You can customize the default row selection behavior by overriding� Then you create a contextMenuStrip item "Delete Row". 4) Set the. The datagrid component contains two methods to retrieve selected row data: getSelected: Get the first selected row data, if no row selected return null else return the record. Select all rows and cells. DataGridView makes the first row selected after DataBinding by default.

Comments
  • Did you try setting the SelectedIndex property to -1 before/after setting the ItemSource?
  • I had the opposite question--I wanted a way to make it select the first row by default. This answer still works.
  • +1 I spent a long time stumped by this issue, and this was the solution. :)
  • This should be the answer when you need to keep the sync between the CollectionViewSource and the View.
  • Seems kinda hacky, but it sure saved my ass, because I had tried setting IsSynchronizedWithCurrentItem to "false" to no avail.