How can I extend admincp to show all related category not only the first one on the AdminCP list view?
You can use the getTableAttributesForSource event

Event::on(
    Entry::class, 
    Element::EVENT_SET_TABLE_ATTRIBUTE_HTML, 
    function(SetElementTableAttributeHtmlEvent $event) {
    // field: + your field id, you can as well grab all Fields of type 
    // BaseRelationField and collect those ids in an array to get all
    if ($event-&gt;attribute === 'field:2') { 
        /** @var Entry $entry */
        $entry = $event-&gt;sender;

        // just a quick example to fetch the titles for all related fields
        $event-&gt;html = implode(', ', $entry-&gt;getFieldValue('relation')-&gt;select('title')-&gt;column());

        // Prevent other event listeners from getting invoked
        $event-&gt;handled = true;
    }
});


This is the function that renders the usual table html

public function getTableAttributeHtml($value, ElementInterface $element): string
{
    if ($value instanceof ElementQueryInterface) {
        $element = $this-&gt;_all($value)-&gt;one();
    } else {
        $element = $value[0] ?? null;
    }

    if ($element) {
        return Craft::$app-&gt;getView()-&gt;renderTemplate('_elements/element', [
            'element' =&gt; $element
        ]);
    }

    return '';
}