亚洲午夜网_国产美女精品中文网蜜芽宝贝_亚洲国产福利成人一区_免费无码av片在线观看中文_国产高清在线精品一本大道

| 項目咨詢 |積分體系 | 加入收藏 | 設(shè)為首頁 | RSS
您當(dāng)前的位置:首頁 > 市場 > 百科 > 技術(shù) > 夸父專欄

基于RICHVIEW的EMR開發(fā)文檔七

時間:2013-10-08 20:44:25  來源:  作者:
更多

 http://blog.sina.com.cn/game7788

   夸父
Table(表格)
table是RICHVIEW里面一個比較特殊的元素,也是RICHVIEW眾元素中最復(fù)雜的一種,TABLE由單元格組成,在RICHVIEW里,每個單元格相當(dāng)于一個RICHVIEW文檔,單元格里面可以表格等各種元素,理論上表格是可以無限嵌套,這樣的結(jié)構(gòu)就導(dǎo)致了其復(fù)雜性。
Table屬性
BorderWidth 表的邊框長度
BorderStyle 邊框樣式
BorderColor 邊框顏色
BorderLightColor 3D外觀邊框顏色
VisibleBorders 邊框的顯示和隱藏
CellBorderWidth 單元格邊框長度
CellBorderStyle 單元格邊框樣式
CellBorderColor 單元格邊框顏色
CellBorderLightColor 3D外觀單元格邊框顏色
CellHSpacing 單元格之間的水平距離
CellVSpacing 單元格之間的垂直距離
BorderHSpacing 表邊框與表最外層單元格之間的水平距離
BorderVSpacing表邊框與表最外層單元格之間的垂直距離
Color 表的背景色
BackgroundImage 背景圖
BackgroundStyle 背景樣式
BackgroundImageFileName 在HTML中保存背景圖名
Table方法
InsertColsLeft 當(dāng)前單元格左邊增加列
InsertColsRight 當(dāng)前單元格右邊增加列
InsertRowsAbove當(dāng)前單元格上面增加行
InsertRowsBelow 當(dāng)前單元格下面增加行
DeleteSelectedCols刪除選中列
DeleteSelectedRows刪除選中行
MergeSelectedCells 合并單元格
UnmergeSelectedCells拆分單元格
SplitSelectedCellsHorizontally 將選中的單元格拆分成幾行
SplitSelectedCellsVertically 將選中的單元格拆分成幾列
InsertCols 指定位置增加列
InsertRows 指定位置增加行
DeleteCols 刪除指定列
DeleteRows 刪除指定行
MergeCells 合并指定范圍內(nèi)的單元格
UnmergeCells 拆分指定范圍內(nèi)的單元格
DeleteEmptyRows 刪除所有帶有空單元各的行
DeleteEmptyCols 刪除所有帶有空單元各的列
TABLE用法
創(chuàng)建
...
var table:TRVTableItemInfo;
...
table := TRVTableItemInfo.CreateEx(RowCount,ColumnCount,RVData);
RVData是你要創(chuàng)建表的文檔,一般是指richview.RVData或richviewedit.RVData
RICHVIEW中增加表
table.ParaNo := <Paragraph Style Index>
richview.AddItem(<Table name>, table)
Paragraph Style Index 是這個表的索引值
Table name 表的名字,一個字符串,不是指這個對象名
這個方法不用在顯示文檔之前重新格式化。
richviewedit中增加表
richviewedit.InsertItem(<Table name>, table)
這個方法是在當(dāng)前位置加入表,不管光標(biāo)在文檔中,還是在表格或者單元格中(光標(biāo)在哪就加到哪),如果文檔是只讀或者處于保護狀態(tài),用這個方法后,會返回一個FALSE,如果光標(biāo)在表格中,這個方法將自動釋放表格
cell用法
cell(單元格)是表格的主屬性,因為每個CELL相當(dāng)于一個RICHEDIT,所以用法和RICHEDIT差不多,但要注意的事,這些用法一般只是相對于光標(biāo)當(dāng)前所以的位置,也就是說,如果光標(biāo)在表格里,同樣的方法就是對表格的作用,如果在表格外,就是對外面的RICHEDIT的作用,如果一個文檔里面同時有多個表格的時候,光標(biāo)在任意地方,你想往某個表格中的某個單元格輸入內(nèi)容時,這時就要自己判斷地方了。這是因為,當(dāng)光標(biāo)點某個地方時,RICHEDIT實際上已經(jīng)幫你判斷好了位置。
那么,如何在一個文檔的表格里面的指定的一個單元格里面,輸入自己的內(nèi)容呢?
假設(shè)現(xiàn)在有一個文檔,里面有一個表格(多個表格大家自己去想,方法一樣)
,這個表格里面有二個單元格,我現(xiàn)在想在第二個單元格中輸入‘我愛你’三個字,并且此時光標(biāo)在任意地方,下面是最簡單實現(xiàn)方法
for i:= 0 to itemcount -1 do
 begin
    if getitem(i) is TRVTableItemInfo then
      begin
         RVData:=TRVTableItemInfo(item).cells[0,1].AddNLATag('我愛你', 0, 0, '');
         break;
        end;
 end;
如果此時的單元格你不知道多少個,可以用遍歷表格單元格方法,如下,我要得到表格中,每個單元格的中的文字
for row := 0 to TRVTableItemInfo(item).RowCount-1 do
 begin
    for col := 0 to table.ColCount-1 do
      if table.Cells[row,col]<>nil then
      begin
        RVData := table.Cells[row,col].GetRVData;//得到第一個單元格內(nèi)容
        for i := 0 to RVData.ItemCount-1 do     //開始遍歷格子中的元素,和RICHEDIT一樣
        begin
          if (i>0) and RVData.IsFromNewLine(i) then
            Result := Result + #13#10;
          if RVData.GetItemStyle(i)=rvsTab then
            Result := Result + #9
           else if RVData.GetItemStyle(i)>=0 then
            Result := Result + RVData.GetItemText(i);//得到第一個單元格的文字
        end;
        Result := Result + table.TextColSeparator;//遍歷第一行的所有格子,值相加
      end;
    Result := Result + table.TextRowSeparator;//遍歷所有行的格子,值相加,最終得到每個格子的值
  end;
來頂一下
返回首頁
返回首頁
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欄目更新
    欄目熱門