asp.net里动态操作table asp.net如何动态操作table例如设定列名,添加删除行,为列赋值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <asp:Table ID="Table1" runat="server"> </asp:Table> 意思是说在后台,建立一个table,然后对其他空间绑定什么的。不是操作前台表格 意思是说在后台,建立一个table,然后对其他空间绑定什么的。不是操作前台表格 DataTable t =- new DataTable();t.Columns.Add("name");for(int i = 0; i < 10; ++i){DataRow row = t.NewRow();row["name"] = "name" + i;t.Rows.Add(row);} 那就在后台"<table><tr><td></tr></td></table>" Pro pro = new Pro(); pro.ID = 1; pro.Name = "NS032658"; Pro pro1 = new Pro(); pro1.ID = 2; pro1.Name = "NS032677"; Pro pro2 = new Pro(); pro2.ID = 3; pro2.Name = "NS032656"; Pro pro3 = new Pro(); pro3.ID = 4; pro3.Name = "NS032655"; List<Pro> listPro = new List<Pro> { pro, pro1, pro2, pro3 }; string aa = JavaScriptConvert.SerializeObject(listPro); Response.Write(aa); List<Pro> pros = JavaScriptConvert.DeserializeObject<List<Pro>>(aa); DataTable dt = new DataTable(); DataColumn dataC = new DataColumn("ID",typeof(int)); dt.Columns.Add(dataC); DataColumn dataD = new DataColumn("Name",typeof(string)); dt.Columns.Add(dataD); foreach (Pro items in pros) { DataRow dr = dt.NewRow(); for (int i = 0; i < dt.Columns.Count; i++) { dr["ID"] = items.ID; dr["Name"]=items.Name; } dt.Rows.Add(dr); } 那你绑定到reapter这样的控件的时候咋办?? _mytable = document.createElement("table"); divContent.appendChild(_mytable); _mytableBody = document.createElement("tbody"); _mytable.appendChild(_mytableBody);var row = document.createElement("tr"); var cell = document.createElement("td"); cell.innerText = "r1_c1"; row.appendChild(cell); cell = document.createElement("td"); cell.innerText = "r1_c2"; row.appendChild(cell); cell = document.createElement("td"); cell.innerText = "r1_c3"; row.appendChild(cell); cell = document.createElement("td"); cell.innerText = "r1_c4"; row.appendChild(cell); _mytableBody.appendChild(row); <html> <head> <title>Ace Test</title><script language="JavaScript"> var cGetRow=-99999; function insertrow(){ var newrow = document.all.ACE_HIDDEN_TABLE.rows[0].cloneNode(true); //克隆一行 document.all("newTB").appendChild(newrow); //添加刚才克隆的一行 } function GetRow(){ //获得行索引 //两个parentElement分别是TD和TR,rowIndex是TR的属性 //this.parentElement.parentElement.rowIndex cGetRow=window.event.srcElement.parentElement.parentElement.rowIndex; DelRow(cGetRow);//点击checkbox时,直接删除行。 } function DelRow(iIndex){ //删除一行 if(iIndex==-99999){ alert("系统提示:没有选中行号!"); }else{ newTB.deleteRow(iIndex); iIndex==-99999;//将rowIndex恢复默认值。 } } </script> </head> <body class="dialog_body"> <form method="POST" onSubmit="return doSubmit(this)"> <table border="1" width="900" cellpadding="0" cellspacing="0" class="table"> <!-- 隐藏table,用于克隆的行 begin --> <tbody id="ACE_HIDDEN_TABLE" style="display:none"> <tr> <td><input type="checkbox" onclick="GetRow()"/></td> <td width="16%"> <select id="pid" name="project""> <option value=""></option> <option value="0"> 人员编号 </option> <option value="1"> 姓名 </option> </select> </td> <td width="16%"> <input id="result" type="text" value="" readonly="true"> </td> </tr> </tbody> </table> <!-- 隐藏table,用于克隆的行 end --> <table border="1" width="900" cellpadding="0" cellspacing="0" class="table"> <!-- 插入新行的区域 begin --> <tbody id="newTB"> </tbody> <!-- 插入新行的区域 end --> </table> <div align="right" style="margin:10px;"> <input type="button" onClick="insertrow();" value="增加一行"> <input type="button" onClick="DelRow(cGetRow);" value="删除一行"> </div> </form> </body></html> F区单行滚动.Text = "<div id=\"gundong\" style=\" overflow:hidden; width:700px;margin:auto\"><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td id=\"marquePic1\"><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width:701px;\"><tr>"; myDataTable = YC.YdySe2("SELECT * FROM FClassCo ORDER BY id DESC"); string img; for (i = 0; i < myDataTable.Rows.Count; i++) { myDataRow = myDataTable.Rows[i]; img = myDataRow[4].ToString(); if (img == "") img = "App_Themes/" + th + "/images/AbsencePicture.gif"; else img = "/UploadedY/" + img; F区单行滚动.Text = F区单行滚动.Text + "<td style=\"padding-left:5px;padding-right:5px;vertical-align:top\"><a href='content.aspx?Ca" + myDataRow[1].ToString() + "CoId=" + myDataRow[2].ToString() + "'><img class='ImageBorder' src='" + img + "' alt='' onload='resizeImage2(this)' /><br />" + myDataRow[3].ToString() + "</a></td>"; } F区单行滚动.Text = F区单行滚动.Text + "</tr></table></td><td id=\"marquePic2\"></td></tr></table></div><script type=\"text/javascript\">var speed=30;marquePic2.innerHTML=marquePic1.innerHTML; function Marquee(){if(gundong.scrollLeft>=marquePic1.scrollWidth){gundong.scrollLeft=0 }else{ gundong.scrollLeft++ }} var MyMar=setInterval(Marquee,speed);gundong.onmouseover=function(){clearInterval(MyMar)};gundong.onmouseout=function(){MyMar=setInterval(Marquee,speed)}</script>"; }看看这个 关于数据查询的问题 请问各位装vs2008 SP1,大家用了多长时间?急死我了 我是.net新手,请大家帮我看看这段程序吧,连不上数据库,但运行也不报错 求 C#操作FTP 重命名时如何进行覆盖? 找不到存储过程 'proc_getpagedata'。 求助手机版网站的开发 高分征求服务器空间 帮忙节俭一下代码 一个很紧急的问题,求助~~~~~~~~~ 关于File Field的EnableViewState属性问题,急,在线等 怎么让TreeView固定高度 【求教】在研究一个通讯接口,尽量说说。感谢了!!
</asp:Table>
意思是说在后台,建立一个table,然后对其他空间绑定什么的。不是操作前台表格
t.Columns.Add("name");
for(int i = 0; i < 10; ++i)
{
DataRow row = t.NewRow();
row["name"] = "name" + i;
t.Rows.Add(row);
}
Pro pro = new Pro();
pro.ID = 1;
pro.Name = "NS032658"; Pro pro1 = new Pro();
pro1.ID = 2;
pro1.Name = "NS032677";
Pro pro2 = new Pro();
pro2.ID = 3;
pro2.Name = "NS032656";
Pro pro3 = new Pro();
pro3.ID = 4;
pro3.Name = "NS032655"; List<Pro> listPro = new List<Pro> { pro, pro1, pro2, pro3 }; string aa = JavaScriptConvert.SerializeObject(listPro);
Response.Write(aa); List<Pro> pros = JavaScriptConvert.DeserializeObject<List<Pro>>(aa);
DataTable dt = new DataTable(); DataColumn dataC = new DataColumn("ID",typeof(int));
dt.Columns.Add(dataC); DataColumn dataD = new DataColumn("Name",typeof(string));
dt.Columns.Add(dataD);
foreach (Pro items in pros)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < dt.Columns.Count; i++)
{
dr["ID"] = items.ID;
dr["Name"]=items.Name;
}
dt.Rows.Add(dr);
}
那你绑定到reapter这样的控件的时候咋办??
divContent.appendChild(_mytable);
_mytableBody = document.createElement("tbody");
_mytable.appendChild(_mytableBody);var row = document.createElement("tr");
var cell = document.createElement("td");
cell.innerText = "r1_c1";
row.appendChild(cell);
cell = document.createElement("td");
cell.innerText = "r1_c2";
row.appendChild(cell);
cell = document.createElement("td");
cell.innerText = "r1_c3";
row.appendChild(cell);
cell = document.createElement("td");
cell.innerText = "r1_c4";
row.appendChild(cell);
_mytableBody.appendChild(row);
<head>
<title>Ace Test</title>
<script language="JavaScript">
var cGetRow=-99999;
function insertrow(){
var newrow = document.all.ACE_HIDDEN_TABLE.rows[0].cloneNode(true); //克隆一行
document.all("newTB").appendChild(newrow); //添加刚才克隆的一行
}
function GetRow(){
//获得行索引
//两个parentElement分别是TD和TR,rowIndex是TR的属性
//this.parentElement.parentElement.rowIndex
cGetRow=window.event.srcElement.parentElement.parentElement.rowIndex;
DelRow(cGetRow);//点击checkbox时,直接删除行。
}
function DelRow(iIndex){
//删除一行
if(iIndex==-99999){
alert("系统提示:没有选中行号!");
}else{
newTB.deleteRow(iIndex);
iIndex==-99999;//将rowIndex恢复默认值。
}
}
</script>
</head> <body class="dialog_body">
<form method="POST" onSubmit="return doSubmit(this)">
<table border="1" width="900" cellpadding="0" cellspacing="0" class="table">
<!-- 隐藏table,用于克隆的行 begin -->
<tbody id="ACE_HIDDEN_TABLE" style="display:none">
<tr>
<td><input type="checkbox" onclick="GetRow()"/></td>
<td width="16%">
<select id="pid" name="project"">
<option value=""></option>
<option value="0">
人员编号
</option>
<option value="1">
姓名
</option>
</select>
</td>
<td width="16%">
<input id="result" type="text" value="" readonly="true">
</td>
</tr>
</tbody>
</table>
<!-- 隐藏table,用于克隆的行 end -->
<table border="1" width="900" cellpadding="0" cellspacing="0" class="table">
<!-- 插入新行的区域 begin -->
<tbody id="newTB">
</tbody>
<!-- 插入新行的区域 end -->
</table> <div align="right" style="margin:10px;">
<input type="button" onClick="insertrow();" value="增加一行">
<input type="button" onClick="DelRow(cGetRow);" value="删除一行">
</div>
</form>
</body>
</html>
string img; for (i = 0; i < myDataTable.Rows.Count; i++)
{
myDataRow = myDataTable.Rows[i];
img = myDataRow[4].ToString(); if (img == "")
img = "App_Themes/" + th + "/images/AbsencePicture.gif";
else
img = "/UploadedY/" + img; F区单行滚动.Text = F区单行滚动.Text + "<td style=\"padding-left:5px;padding-right:5px;vertical-align:top\"><a href='content.aspx?Ca" + myDataRow[1].ToString() + "CoId=" + myDataRow[2].ToString() + "'><img class='ImageBorder' src='" + img + "' alt='' onload='resizeImage2(this)' /><br />" + myDataRow[3].ToString() + "</a></td>";
} F区单行滚动.Text = F区单行滚动.Text + "</tr></table></td><td id=\"marquePic2\"></td></tr></table></div><script type=\"text/javascript\">var speed=30;marquePic2.innerHTML=marquePic1.innerHTML; function Marquee(){if(gundong.scrollLeft>=marquePic1.scrollWidth){gundong.scrollLeft=0 }else{ gundong.scrollLeft++ }} var MyMar=setInterval(Marquee,speed);gundong.onmouseover=function(){clearInterval(MyMar)};gundong.onmouseout=function(){MyMar=setInterval(Marquee,speed)}</script>";
}看看这个