出处: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);
}
}