Assuming you don't have SQL2005 and therefore the PIVOT function you could always resort to
DECLARE @display TABLE(ID INT IDENTITY(1,1),Display VARCHAR(50))
DECLARE @lRow TINYINT
SET @lRow = 0
DECLARE @NewRow VARCHAR(50)
INSERT INTO @display (Display) VALUES('|---+---+---|')
WHILE @lRow IS NOT NULL
BEGIN
SELECT @lRow = MIN(RowID) FROM dbo.sudoko WHERE RowId>@lRow
IF @lRow IS NOT NULL
BEGIN
SET @NewRow=''
SELECT @NewRow = COALESCE(@NewRow,'')+CAST(CellValue AS CHAR(1))
FROM dbo.sudoko
WHERE RowId=@lRow
SET @NewRow = LEFT(@NewRow,3)+'|'+SUBSTRING(@NewRow,4,3)+'|'+RIGHT(@NewRow,3)
INSERT INTO @display (Display) VALUES('|'+@NewRow+'|')
IF @lRow %3 = 0
INSERT INTO @display (Display) VALUES('|---+---+---|')
END
END
SELECT Display FROM @display