Charlieplexing is fun, I do it too much. Usually the advantage of fewer lines costs too much in restricted facility, and the need to three-state the outputs rather than just drive them high and low.
You can light one digit at a time, which is the same as you can do with normal 15 line multiplexing. Anybody that tells you only a single segment at a time hasn't been thinking hard enough.
If you drive your array directly from MCU pins, then one-at-a-time might be indicated if you want to keep the pin current down. If your array includes digit drivers (which yours does) with proper resistive dividers ahead so they can tell the difference between driven and three-state (which I can't tell whether yours does or not due to the scale of the drawing), then you can drive a whole digit at a time.
With a little care, the lines can be assigned so that software driving is straightforward (not like you've assigned them). Having wired all 8 lines to the first digit, one to the common, and the other 7 to the segments, rotate the lines one step for the next digit. Now in software, you require only one lookup table, and you use a circular rotate command to cycle the pattern through the other 7 positions to light the other 7 digits. With your assignment, you need a different lookup table for each digit.