2

I am trying to add a custom column in sales create order customer grid. When admin trying to place order from back end ,after create order button click we get a customer grid .

enter image description here

I have added a new column Company Name to this grid using below code in

sales_order_create_customer_block.xml

<block class="Magento\Backend\Block\Widget\Grid\Column" name="adminhtml.customer.grid.columnSet.company_name" as="company_name">
 <arguments>
 <argument name="header" xsi:type="string" translate="true">Company Name</argument>
 <argument name="index" xsi:type="string">company_name</argument>
 <argument name="align" xsi:type="string">center</argument>
 </arguments>
 </block>

Here Company Name is a custom customer attribute I have created .

After adding this I am getting the company name in this grid. But the company name does not show at first load. In the above screenshot for customer Id 66, I have set the company name still its displayed none.When I filter it by clicking on company name header it filters and then the company name is displayed for each customer and properly.

enter image description here

And when I reload the page it again displays nothing and I have to filter it again to display it . I tried giving a different customer field gender in the xml and I am getting Boolean values as expected and no need of filter needed to display it like in case of my custom customer attribute. Is there any that I have missed out in configuring this ?

asked Nov 2, 2018 at 19:52

2 Answers 2

3

I tried this and it worked for me. And i'm sure it will work for you too.

Add this code in your module (Vendor\Module\Model\ResourceModel\Order\Customer\Collection.php)

<?php
namespace Vendor\Module\Model\ResourceModel\Order\Customer;
class Collection extends \Magento\Sales\Model\ResourceModel\Order\Customer\Collection
{
 /**
 * @return $this
 */
 protected function _initSelect()
 {
 parent::_initSelect();
 $this->addAttributeToSelect(
 'company_name'
 );
 return $this;
 }
}

Make sure that you add this code in the same module where you have overrided sales_order_create_customer_block.xml

Thanks

answered Feb 5, 2019 at 6:54
0
1

Im facing the same issue. Did you get any solution for this?

I tried one approach, that is I made default_sort as company_name and it worked but if we sort with any different column, this wont work.

<arguments>
 <argument name="default_sort" xsi:type="string">company_name</argument>
</arguments>

FYI, even the values aren't displayed but if we search for the company name then the results are fetching properly.

Thanks

answered Feb 4, 2019 at 5:56

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.