Sie können wahrscheinlich die Funktion addColumnAfter
verwenden.
Wenn Sie sich jemals die Methode _prepareColumns
angesehen haben, die Sie außer Kraft setzen, " Sehen Sie, dass es sortColumnsByOrder
aufruft. Wenn Sie also nach diesem Punkt eine Spalte hinzufügen (vielleicht mit einem Ereignis), müssen Sie etwas tun wie:
Wenn Sie parent :: _ prepareColumns () vor $ this- & gt; addColumn () oder $ this- & gt; addColumnAfter () dann wurde Ihre neue Spalte immer auf der letzten Position angezeigt. Sie können also den Ort der parent :: _ prepareColumns (); -Anweisung gemäß Ihren Anforderungen anpassen.
%Vor%Hier wird die Spalte "Barcode" unmittelbar nach der Spalte Bestell-ID # angezeigt. Wenn Sie parent :: _ prepareColumns (); vor $ this- & gt; addColumnAfter setzen, wird es nicht unmittelbar nach der ID-Spalte angezeigt. Es wird nur zuletzt angezeigt.
Wie die anderen Antworten gezeigt haben, können Sie die Methode Mage_Adminhtml_Block_Widget_Grid::addColumnAfter
verwenden, um dies zu erreichen.
Wie auch immer (die meisten anderen Antworten) erwähnen, dass Sie explizit Mage_Adminhtml_Block_Widget_Grid::sortColumnsByOrder
aufrufen müssen, damit die Spalten neu angeordnet werden können .
Die Methode Mage_Adminhtml_Block_Widget_Grid::sortColumnsByOrder
wird ausschließlich von der Methode Mage_Adminhtml_Block_Widget_Grid::_prepareColumns
wie folgt aufgerufen:
Dies bedeutet, dass Ihre abgeleitete Klasse dasselbe tun muss, um die Spalten basierend auf Ihrer neuen Reihenfolge neu zu sortieren. Zum Beispiel:
%Vor%