First of all check, any custom extension blocks your order to save grid. Also, you can add the following event:
<sales_order_save_after>
<observers>
<sr_sales_order_save_after>
<class>sr_magentocommunity/observer</class>
<method>salesOrderSaveAfter</method>
</sr_sales_order_save_after>
</observers>
</sales_order_save_after>
add the following code in your observer
/**
* @param Varien_Event_Observer $observer
*/
public function salesOrderSaveAfter(Varien_Event_Observer $observer)
{
$order = $observer->getEvent()->getOrder();
if($order && ($orderId = $order->getId())) {
Mage::getModel('sales/order')->getResource()->updateGridRecords([$orderId]);
}
}
sales_flat_order
table and if everything works correctly insales_flat_order_grid
too. If you have the order only insales_flat_order
and not insales_flat_order_grid
the approach proposed by @Sohel Rana should work for new orders (although you should identify the problem!). For ald orders you can copy orders fromsales_flat_order
tosales_flat_order_grid
using SQL. If you don't have the orders insales_flat_order
it looks like a greater problem in your store.