首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ASP.NET 表单设计器解决办法

2013-08-04 
ASP.NET 表单设计器因为页面上有很多表单不确定所以想问下有没有ASP.NET表单设计器用来针对这种情况如何实

ASP.NET 表单设计器
因为页面上有很多表单不确定  所以想问下有没有ASP.NET表单设计器用来针对这种情况

如何实现?或者说第三方插件可以实现? 动态生成表单,然生把值保存到数据库里
[解决办法]
你得做个模板,以div或者ascx形式保存
[解决办法]

引用:
因为页面上有很多表单不确定  所以想问下有没有ASP.NET表单设计器用来针对这种情况

如何实现?或者说第三方插件可以实现? 动态生成表单,然生把值保存到数据库里


vs 或 Expression Web 不就是asp.net 表单设计器嘛。
[解决办法]
动态添加列和行!
<TABLE width="500" border="1" id="t" onKeyUp="sum(this)" onClick="setPos(this)">
<TR>
<TD><div contentEditable>项目\部门</div></TD>
<TD><div contentEditable>部门1</div></TD>
<TD><div contentEditable>部门2</div></TD>
<TD><div contentEditable>部门3</div></TD>
<TD><div contentEditable>统计</div></TD>
</TR>
<TR>
<TD><div contentEditable>货物1</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div>0</div></TD>
</TR>
<TR>
<TD><div contentEditable>货物2</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div>0</div></TD>
</TR>
<TR>
<TD><div contentEditable>货物3</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div>0</div></TD>
</TR>
<TR>
<TD><div contentEditable>货物4</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>


<TD><div contentEditable>0</div></TD>
<TD><div>0</div></TD>
</TR>
<TR>
<TD><div contentEditable>货物5</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div contentEditable>0</div></TD>
<TD><div>0</div></TD>
</TR>
<TR>
<TD><div contentEditable>总计</div></TD>
<TD><div>0</div></TD>
<TD><div>0</div></TD>
<TD><div>0</div></TD>
<TD><div>0</div></TD>
</TR>
</TABLE>
<input type="button" value="加一行" onClick="insertRow(document.all.t)">
<input type="button" value="加一列" onClick="insertCell(document.all.t)">
<input type="button" value="删除行" onClick="deleteRow(document.all.t)">
<input type="button" value="删除列" onClick="deleteCell(document.all.t)">
<SCRIPT LANGUAGE="JavaScript">
<!--
var currRow="0";
var currCell="0";

//删除行*************************************
function deleteRow(obj){
var rows=obj.rows.length;
         obj.deleteRow(currRow);
clear();
averCol(obj);
}

//删除列*************************************
function deleteCell(obj){
        for(var i=0;i<obj.rows.length;i++){
            obj.rows[i].deleteCell(currCell);
     }
    clear();
    averCol(obj);
}


function averCol(obj){
    var wh=obj.width;
    var cells=obj.rows[0].cells;
    for(var i=0;i<cells.length;i++){
         cells[i].width=Math.ceil(wh/cells.length);
    }
}
//插入一行
function insertRow(obj){
           var maxCell=obj.rows[0].cells.length;
           obj.insertRow(currRow+1);
           for(var i=0;i<maxCell;i++){
                obj.rows[currRow+1].insertCell(i);
             obj.rows[currRow+1].cells[i].innerHTML="<div contentEditable>0</div>";


           }
     clear();
     averCol(obj);
}

//插入一列
function insertCell(obj){
         for(var i=0;i<obj.rows.length;i++){
             obj.rows[i].insertCell(currCell+1);
             obj.rows[i].cells[currCell+1].innerHTML="<div contentEditable>0</div>";
        }
        clear();
        averCol(obj);
     chnBgcolor(obj,currRow,"ffffff");
}
function check(obj){
     var k=parseInt(obj.innerText);
if(isNaN(k)){
     obj.childNodes[0].innerText=0;
     return 0;
}
else{
     obj.childNodes[0].innerText=k;
        return k;
}
}
function sum(obj){
     var o=event.srcElement;
var total=0;
var tindex=obj.rows.length-1;
if(o.parentElement.tagName=="TD"&&o.parentElement.cellIndex>=1&&o.parentElement.parentElement.rowIndex>=1){
      var index=o.parentElement.cellIndex;
   var pindex=o.parentElement.parentElement.rowIndex;
         for(var i=1;i<tindex;i++){
              var num=check(obj.rows[i].cells[index]);
     total=parseInt(total)+num;
   }
   var total1=0;
   for(i=1;i<obj.rows[pindex].cells.length-1;i++){
               total1+=check(obj.rows[pindex].cells[i]);
   }
   obj.rows[pindex].cells(obj.rows[pindex].cells.length-1).innerText=total1;
   obj.rows[tindex].cells[index].innerText=total;
   obj.rows[tindex].cells(obj.rows[0].cells.length-1).innerText=addAll(obj);
   }
   setPos(obj);
}
function chnBgcolor(obj,index,color){
     for(var i=0;i<obj.rows.length;i++){
          if(i==index){
              obj.rows[i].bgColor=color;
    }
}


}
function setPos(obj){
    var o=event.srcElement;
    if(o.tagName=="DIV"){
        currRow=o.parentElement.parentElement.rowIndex;
        currCell=o.parentElement.cellIndex;
     chnBgcolor(obj,currRow,"dedede");
    }
    else if(o.tagName=="TD"){
        currRow=o.parentElement.rowIndex;
        currCell=o.cellIndex;
    }
    else{
        currRow=obj.rows.length-1;
     currCeil=obj.rows[0].cells.length-1;
    }
}
function clear(){
    currRow=0;
    currCell=0;
}
function addAll(obj){
    var total=0;
    for(var i=1;i<obj.rows[0].cells.length-1;i++){
          total+=parseInt(obj.rows[obj.rows.length-1].cells[i].innerText);
    }
    return total;
}
//-->
</SCRIPT>

热点排行