Question: How can i refresh grid data when new data added in exts?

Answer: 
Making it const and making it static do two different things.

* if it is const, each function call gets its own unchangeable instance of the struct
* if it is static there is one changeable instance of the struct shared across all function calls

It sounds as though what you want is a struct instance that is both static and const, which is a reasonable thing to do.

Performance wise, the static version should have a slight edge, as construction of the struct instance will only be done once.
Local variables or constants are allocated on the stack. Their existence lasts only during the function execution and their value is lost as soon as the function returns. Allocation and assignment take place each time the function is called.

Declaring a local variable or constant static means that its value will be kept from one call to the next. This is achieved by allocating it globally instead of on the stack. Allocation and assignment are performed only once, which in case of big data structures in frequently called functions may lead to performance improvments.