出處:http://higkoo.blog.sohu.com/52496479.html 胡楷的博客 轉載請注明原出處
/*此段代碼為:添加"樹狀"節點數據,代碼源于*****項目,此碼僅添加數據到第三層。*/
/*前置條件:用戶已登錄并具有操作權限*/
/*思路:新增一級節點-->獲取一級ID-->添加二級節點-->展開一級節點-->獲取二級ID-->添加三級數據*/
/*說明:添加一級節點-->逐個讀取一級節點ID-->讀到一個一級節點就給它添加二級節點-->
二級節點添加完一次就讀一次ID-->讀一次二級節點直接添加三級節點*/
/*修改"樹狀"節點數據的代碼類似,Submit修改時,要多建一個參數TreeCode*/
int i,j,k,p; //循環變量
int No1,No2,No3; //分別保存一、二、三級節點的個數
int M1,M2,M3; //分別定義一、二級節點的數量,三級節點不保存數據,故未限制大小
char *MyID1[90],*MyID2[90],m[40]; //MyID1用于儲存所有一級節點數據,m為臨時數組變量
/* MyID的長度也大于M的長度;m的長度要大于ID的長度+1 */
M1=30;M2=20;M3=10;
/*RootID名稱需要按模塊修改,Control里需要重新參數化*/
lr_save_string ("FindRootIDinWebResource","RootID");//根節點的ID,修改此處即可使用
lr_output_message ("當前根節點的ID號為:%s",lr_eval_string ("{RootID}"));
for (i=1;i<=M1 ;i++ ) //添加M1個一級節點
{
lr_save_int(i,"L");
//#########添加一級節點
web_submit_data("{RootID}{L}");
} lr_output_message ("已添加%d個一級節點",M1);
web_reg_save_param("IDS", //獲取一級節點ID
"LB=value=\"",
"RB=\"",
"ORD=All",
LAST);
//#######展開根節點
web_url("{RootID}");
No1=atoi(lr_eval_string ("{IDS_count}")); //獲取ID的數量,保存在變更No1中
lr_output_message ("獲取一級節點的數量為: %d",No1);
if (No1>M1) { No1=M1;}//讓No1<=M1
for (i=1;i<=No1;i++) //將一級節點的ID寫入MyID1中
{
sprintf(m,"{IDS_%d}",i); //生成動態字符串{IDS_i},存在變量m中************核心步驟
MyID1[i-1]=lr_eval_string (m); //讀取{IDS_i}參數對應的值,保存到MyID1中****核心步驟
lr_output_message ("一級節點第%d共%d,m=%s即MyID1[%d]=,%s",i,No1,m,i-1,MyID1[i-1]);
lr_save_string (MyID1[i-1],"SubID");//將MyID1轉換為參數{SubID}以便使用
for (j=1;j<=M2;j++ )//添加M2個二級節點
{
lr_save_int(j,"M");
//#######添加下級節點
web_submit_data("{RootID}{SubID}{M}");
} lr_output_message ("已添加%d個二級節點",M2);
web_reg_save_param("IDS2", //獲取二級節點ID
"LB=value=\"",
"RB=\"",
"ORD=All",
LAST);
//########展開選中節點
web_url("{RootID}{SubID}");
No2=atoi(lr_eval_string ("{IDS2_count}")); //獲取ID的數量,保存在變更No2中
lr_output_message ("獲取二級節點的數量為: %d",No2);
if (No2>M2) { No2=M2;}//讓No2<=M2
for (k=1;k<=No2;k++) //將二級節點的ID寫入MyID2中
{
sprintf(m,"{IDS2_%d}",k); //生成動態字符串{IDS2_i},存在變量m中************核心步驟
MyID2[k-1]=lr_eval_string (m); //讀取{IDS2_i}參數對應的值,保存到MyID2中****核心步驟
lr_output_message ("開始處理@二級節點:第%d共%d,m=%s即MyID1[%d]=,%s",k,No2,m,k-1,MyID2[k-1]);
lr_save_string (MyID2[k-1],"SubID2");//將MyID1轉換為參數{SubID}以便使用
lr_save_int(k,"N");
for (p=1;p<=M3;p++) //添加子節點
{
lr_save_int(p,"P");
//########添加三級節點
web_submit_data("{RootID}{SubID}{P}");
}lr_output_message ("當前狀態@一級節點%d,二級節點%d:已添加%d個三級節點",i,k,M3);
}
}