技術(shù) 點(diǎn)
- 技術(shù)
- 點(diǎn)
- V幣
- 點(diǎn)
- 積分
- 42212
|
我們?cè)趖reeview 應(yīng)用中,最先接觸到就是節(jié)點(diǎn)的編碼,舉一個(gè)設(shè)計(jì)的例子,
Rootkey=”AAA”
SubAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="1" UnitName="”">001”</st1:chmetcnv>
SubAAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="1001" UnitName="”">001001”</st1:chmetcnv>
SubABkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="1002" UnitName="”">001002”</st1:chmetcnv>
那么再增加一個(gè)一級(jí)子節(jié)點(diǎn)
strNewID = Rootkey & Format((trvw.Nodes(Rootkey).Children + 1),”<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="0" UnitName="”">000”</st1:chmetcnv>)
麻煩,難看
我們可以把編碼中小于100的不要,取100到999,
SubAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="100" UnitName="”">100”</st1:chmetcnv>
SubAAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="100100" UnitName="”">100100”</st1:chmetcnv>
SubABkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="100101" UnitName="”">100101”</st1:chmetcnv>
上面的代碼就可以寫成
strNewID = Rootkey & (trvw.Nodes(Rootkey).Children + 1)
同樣,在刪除,移動(dòng)節(jié)點(diǎn)時(shí)都將簡(jiǎn)化了,大家可以試著將編碼為(1-999)及(100-999)的SubAAkey和SubABkey的Key用編程進(jìn)行交換,就可以體會(huì)到好處了
另外Rootkey的長(zhǎng)度應(yīng)該和編碼長(zhǎng)度一樣,如我們編碼是三位數(shù),那Rootkey長(zhǎng)度也應(yīng)該是三(“AAA”),這個(gè)在實(shí)際設(shè)計(jì)中會(huì)有一些便利 |
|