Fix For Numbered Bullets In Tables?
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
Fix For Numbered Bullets In Tables?
I access entries in a master table and place them in an edit window for the user to work on and then return them to the table.
When entering numbered, bulleted lists all is OK as long as the user is only looking at one table cell at a time.
Sometimes, though, the application needs to show the table itself and when this occurs, all of the numbers appear as if they are in the SAME list.
I.e. if Cell 0,1 has bullets numbered 1,2,3 and Cell 3,1 has bullets numbered 1,2,3 also, when I display the table showing both cells, the bullets in Cell 3,1 are numbered 4,5,6.
I believe we e-mailed about this at one time, but I can't find any reference here in the forum and I see the problem still exists in the latest versions of TRV and TRVA.
When entering numbered, bulleted lists all is OK as long as the user is only looking at one table cell at a time.
Sometimes, though, the application needs to show the table itself and when this occurs, all of the numbers appear as if they are in the SAME list.
I.e. if Cell 0,1 has bullets numbered 1,2,3 and Cell 3,1 has bullets numbered 1,2,3 also, when I display the table showing both cells, the bullets in Cell 3,1 are numbered 4,5,6.
I believe we e-mailed about this at one time, but I can't find any reference here in the forum and I see the problem still exists in the latest versions of TRV and TRVA.
-
- Site Admin
- Posts: 17557
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
I'd suggest that this should be a document option - or should be different for tables. It seems to me that tables with bulleted lists in subsequent rows of the table would more likely want the numbered bullets to restart for each new row than would want them to continue.
Any chance of adding this 'switch' in a future release? It's not a huge problem for me, but it does screw up the printing of flashcards with numbered bullets. The flashcards themselves are individual 'documents' so the bullets should be numbered independently for each one.
Dick
Any chance of adding this 'switch' in a future release? It's not a huge problem for me, but it does screw up the printing of flashcards with numbered bullets. The flashcards themselves are individual 'documents' so the bullets should be numbered independently for each one.
Dick
-
- Site Admin
- Posts: 17557
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
Actually, this isn't the case - MSWord works 'correctly'. The difference is that in TRichView, the numbering in different cells is sequential EVEN when there is intervening text that is not part of the numbered bullets. In MSWord, any intervening text that is not part of the numbered bullets style resets the next numbered bullet to "1.".
I've sent you an example via e-mail.
Dick
I've sent you an example via e-mail.
Dick
-
- Site Admin
- Posts: 17557
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
In MS Word, intervening text and intervening list markers do not matter, like in TRichView.
You can test it by copy-pasting a paragraph from the first cell to the last cell (it's better to add an empty unnumbered line after the "to come to the aid of the party", and paste after this line). You will see that the inserted line will be numbered "4.", because it will continue numeration from the first cell.
It does matter how you make numbering, though. Word creates a different list (or "list overrides") when you apply numbering to different cells. RichViewActions do the same: if you press "Numbering" command in a cell, a new list will be created, and numbering will be started from 1.
So numbering in TRichView and MS Word works identically, it's only important how to create lists.
However, numeration in your example document is imported in TRichView incorrectly. I'll try to fix it.
You can test it by copy-pasting a paragraph from the first cell to the last cell (it's better to add an empty unnumbered line after the "to come to the aid of the party", and paste after this line). You will see that the inserted line will be numbered "4.", because it will continue numeration from the first cell.
It does matter how you make numbering, though. Word creates a different list (or "list overrides") when you apply numbering to different cells. RichViewActions do the same: if you press "Numbering" command in a cell, a new list will be created, and numbering will be started from 1.
So numbering in TRichView and MS Word works identically, it's only important how to create lists.
However, numeration in your example document is imported in TRichView incorrectly. I'll try to fix it.
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
Hmmm... I see what you mean about pasting into the cell vs. creating the bullet while in the cell. In my case it is analagous to pasting into the cell I think.
I create the contents in a separate TRichViewEdit and then place the contents into the master table by this code:
AMemo.SaveRVFToStream(Stream, False);
Stream.Position := 0;
FMain.RichViewEdit3.Clear;
FMain.RichViewEdit3.InsertRVFFromStream(Stream, 0);
FMain.RichViewEdit3.Format;
Stream.Clear;
FMain.RichViewEdit3.SaveRVFToStream(Stream,False);
Stream.Position := 0;
MasterRVTable.Cells[QNumber-1,15].Clear;
MasterRVTable.Cells[QNumber-1,15].InsertRVFFromStream(Stream, 0, Dummy1, Dummy2, Dummy3, False);
finally
Stream.Clear;
end;
Where AMemo is the separate TRichViewEdit edit window and FMain.RichViewEdit3 is an intermediate TRVE using the same TRVStyle as the TRVE containing MasterRVTable so as to preserve the font styles used in creating the content in AMemo.
Is there any way other than using independent ListStyles to get this to work with fresh numbering in each cell? I don't want to use that because I could, theoretically, end up with 10,000 different list styles if the user placed a list in both the Q and A of each of the maximum 5,000 Q and A pairs that the program allows.
I create the contents in a separate TRichViewEdit and then place the contents into the master table by this code:
AMemo.SaveRVFToStream(Stream, False);
Stream.Position := 0;
FMain.RichViewEdit3.Clear;
FMain.RichViewEdit3.InsertRVFFromStream(Stream, 0);
FMain.RichViewEdit3.Format;
Stream.Clear;
FMain.RichViewEdit3.SaveRVFToStream(Stream,False);
Stream.Position := 0;
MasterRVTable.Cells[QNumber-1,15].Clear;
MasterRVTable.Cells[QNumber-1,15].InsertRVFFromStream(Stream, 0, Dummy1, Dummy2, Dummy3, False);
finally
Stream.Clear;
end;
Where AMemo is the separate TRichViewEdit edit window and FMain.RichViewEdit3 is an intermediate TRVE using the same TRVStyle as the TRVE containing MasterRVTable so as to preserve the font styles used in creating the content in AMemo.
Is there any way other than using independent ListStyles to get this to work with fresh numbering in each cell? I don't want to use that because I could, theoretically, end up with 10,000 different list styles if the user placed a list in both the Q and A of each of the maximum 5,000 Q and A pairs that the program allows.
-
- Site Admin
- Posts: 17557
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
PS: intervening text was important in MS Word 6 (it has a special command "Skip numbering" to allow numbering to be continued through unnumbered paragraphs; technically it was implemented by inserting an invisible list marker). In MS Word 6, numbering in tables was in up-down order (continued in columns, reset on each column).
Starting from MS Word 97, numbering was changed cardinally, and TRichView's numbering model is more similar to this new one:
- intervening text does not matter;
- numbering in tables is continued first in the same row, then to the next row.
Starting from MS Word 97, numbering was changed cardinally, and TRichView's numbering model is more similar to this new one:
- intervening text does not matter;
- numbering in tables is continued first in the same row, then to the next row.
-
- Site Admin
- Posts: 17557
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
As is often the case, I understand the concept you suggest, but fail to understand how to implement it... I imagine that some code is needed here:
MasterRVTable.Cells[QNumber-1,15].Clear;
MasterRVTable.Cells[QNumber-1,15].InsertRVFFromStream(Stream, 0, Dummy1, Dummy2, Dummy3, False);
placed after the .Clear and before the .InsertRVFFromStream
However, I don't see that the property TRVSeqItemInfo.Reset is supported by Table.Cells[r,c]. Could you clarify?
MasterRVTable.Cells[QNumber-1,15].Clear;
MasterRVTable.Cells[QNumber-1,15].InsertRVFFromStream(Stream, 0, Dummy1, Dummy2, Dummy3, False);
placed after the .Clear and before the .InsertRVFFromStream
However, I don't see that the property TRVSeqItemInfo.Reset is supported by Table.Cells[r,c]. Could you clarify?
-
- Site Admin
- Posts: 17557
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
I meant Reset property of the first list marker. You can change it with SetListMarkerInfo (well, it is called UseStartFrom there).
For example:
This example assumes that you have only one paragraph numbering in a cell, otherwise you need to restart all of them.
For example:
Code: Select all
for i := 0 to Cell.ItemCount-1 do
if Cell.GetItemStyle(i)=rvsListMarker then begin
Cell.GetListMarkerInfo(i, ListNo, ListLevel, StartFrom, Reset);
Cell.SetListMarkerInfo(i, ListNo, ListLevel, 1, True);
break;
end;
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact:
-
- Posts: 148
- Joined: Wed Dec 07, 2005 2:02 pm
- Contact: