<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _childgroup_by_name(self, children, grid):
 """ Group the children ordering them by name """

        children = self._dict_children(children)
        result = []

        for row in grid:
            child_row = []
            row_is_void = True
            width_sum = 0
            for name, width in row:
                width_sum += width
                if width_sum > self.num_cols:
                    warnings.warn(u"It seems your grid configuration overlaps \
the bootstrap layout columns number. One of your lines is larger than {0}. \
You can increase this column number by compiling bootstrap css with \
lessc.".format(self.num_cols))

                if isinstance(name, StaticWidget):
                    child = name
                    child.width = width
                    row_is_void = False
                elif name is not None:
                    try:
                        child = children.pop(name)
                        row_is_void = False
                    except KeyError:
                        warnings.warn(u"No node {0} found".format(name))
                        child = VoidWidget(width)
                    child.width = width

                else:
                    child = VoidWidget(width)
                child_row.append(child)

            if not row_is_void:
                result.append(child_row)

        # Add the field not configured in the grid
        for value in children.values():
            result.append([value])
        return result