Why do the two grids react if you use focusin on one grid when using two grids?

I use blazor, syncfusion

The code below is an example of a syncfusion grid.

I want to know which grid was selected, or focused using the fuction directly in onfocusin.

because, It's to decide whether to add a row to the master grid or a row to the detailed grid.

now it is only once called at initialized, is not work 'onclick', 'onfocusin'

What should I do?

I want the format below.

ex)


```C#

@page "/counter"


@code {

    public aaa bbb { get; set; } = new();

}


<SfSplitter Height="100%" SeparatorSize="3" Orientation="Syncfusion.Blazor.Layouts.Orientation.Horizontal">

    <SplitterPanes>

        <SplitterPane Size="50%" Collapsible="true" CssClass="p-1">

            <ContentTemplate>

                <SfGrid ID="master" @onclick="@bbb.grid_onfocusin("master")"

                        DataSource="@Orders"

                        GridLines="GridLine.Both" Width="100%"

                        AllowSorting="false" AllowRowDragAndDrop="false" AllowGrouping="false">

                    <GridColumns>

                        <GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn>

                        <GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn>

                        <GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn>

                        <GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right" Width="120"></GridColumn>

                    </GridColumns>

                </SfGrid>

            </ContentTemplate>

        </SplitterPane>

        <SplitterPane Size="50%" Collapsible="true" CssClass="p-1">

            <ContentTemplate>

                <SfGrid ID="detail" @onclick="@bbb.grid_onfocusin("detail")"

                        DataSource="@Orders"

                        GridLines="GridLine.Both" Width="100%"

                        AllowSorting="false" AllowRowDragAndDrop="false" AllowGrouping="false">

                    <GridColumns>

                        <GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn>

                        <GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn>

                        <GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn>

                        <GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right" Width="120"></GridColumn>

                    </GridColumns>

                </SfGrid>

            </ContentTemplate>

        </SplitterPane>

    </SplitterPanes>

</SfSplitter>




@code {

    public List<Order> Orders { get; set; }



    public class aaa

    {

        public aaa()

        {


        }


        public string focusGrid { get; set; } = "";


        public EventCallback grid_onfocusin(string GridName)

        {

            focusGrid = GridName;

            Console.WriteLine("focusGrid: " + focusGrid);

            return EventCallback.Empty;

        }

    }


    protected override void OnInitialized()

    {

        Orders = Enumerable.Range(1, 75).Select(x => new Order()

            {

                OrderID = 1000 + x,

                CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)],

                Freight = 2.1 * x,

                OrderDate = DateTime.Now.AddDays(-x),

            }).ToList();

    }


    public class Order

    {

        public int? OrderID { get; set; }

        public string CustomerID { get; set; }

        public DateTime? OrderDate { get; set; }

        public double? Freight { get; set; }

    }

}



```


1 Reply 1 reply marked as answer

MS Monisha Saravanan Syncfusion Team February 14, 2022 11:31 AM UTC

Hi Daehyun, 

Greetings from Syncfusion support. 

Query: “I want to know which grid was selected, or focused using the function  directly in onfocusin  
<SfGrid DataSource="@Employees"  @onfocusin="@((e)=> grid_onfocusin(e,"Grid1"))" @ref="Grid1" > 
     
</SfGrid> 
<br /> 
<br /> 
<SfGrid @onfocusin="@((e)=> grid_onfocusin(e,"Grid2"))"  @ref="Grid2" DataSource="@Employees">                 
            </SfGrid> 
 
 
@code{ 
    public SfGrid<EmployeeData> Grid1; 
    public SfGrid<EmployeeData> Grid2; 
    public void grid_onfocusin(FocusEventArgs args, string name) 
    { 
         
    } 
    } 
 
Kindly revert us if we misunderstood your query or if you have further queries. 

Regards, 
Monisha 


Marked as answer
Loader.
Up arrow icon