想实现一个删除的功能,但由于这个是用StringBuilder生成Table的,想在旁边生成一个按钮来删除
有没谁遇到过用这个生成Table,但是旁边也要生成按钮来删除数据的呢
解决方案 »
- 关于c#dev控件的应用popupContainerEdit及popupContainerControl的用法
- 工具箱无法 添加 选择项
- 菜鸟问题 c# cs程序和bs程序 代码方面有什么区别?
- 遍历对象数组的问题
- datagridview 的DataGridViewImageColumn中加入图片后怎么在图的下面加一行解释性文字
- 寻这样的下载软件,最好能有源码
- ref如何用?我用ref传送一个CookieCollection为什么会无效?
- C#后台写脚本代码
- 怎样把asp.net中的逻辑代码和显示页面的代码分开啊?
- 关于用ADO.net连接数据库
- 用C#有什么好建议画图
- wpf tabItem 如果超过一行,单击item总会两行之间移动,请问如何不移动呢?
sb.Append("<table style=\"width:90%;margin:0px 4px 4px 4px; padding:4px; border-collapse: collapse;\">");
sb.Append("<tr><td style=\"width:35%; text-align: center; font-weight: bold; border:solid 1px blue\">文件名</td>");
sb.Append("<td style=\"width:20%; text-align: center; font-weight: bold; border:solid 1px blue\">文件大小</td>");
sb.Append("<td style=\"width:25%; text-align: center; font-weight: bold; border:solid 1px blue\">最后修改时间</td>");
sb.Append("<td style=\"width:20%; text-align: center; font-weight: bold; border:solid 1px blue\">操作</td></tr>");
//针对当前目录建立目录引用对象
DirectoryInfo dirInfo = new DirectoryInfo(path);
FileInfo[] fls = dirInfo.GetFiles();
int count = 0;
foreach(FileInfo fi in fls )
{
count++;
string FileName, FileExt;
//文件大小
long FileSize;
//最后修改时间;
DateTime FileModify; FileName = "";
FileExt = "";
FileSize = 0; ///取得文件名
FileName = fi.Name; ///取得文件的扩展名
FileExt = fi.Extension; ///取得文件的大小
FileSize = fi.Length; double fs = FileSize / 1024;
if (FileSize % 1024 != 0)
{
fs++;
}
///取得文件的最后修改时间
FileModify = fi.LastWriteTime; string fileDir = "../uploaded/网络硬盘"; string xy = path.Substring(0, path.IndexOf(this.CurrentUser.Name));
fileDir = fileDir + "/" + path.Replace(xy, "")+"/"+FileName;
sb.Append("<tr><td style=\"border-style: none solid solid solid; border-width: 1px; border-color: blue;text-align: left; padding:4px; margin:0\"><a href='"+fileDir+"'>" + FileName + "</a></td>"); sb.Append("<td style=\"border-style: none solid solid solid; border-width: 1px; border-color: blue;text-align: right; padding:4px; margin:0\">" +fs + "KB</td>"); sb.Append("<td style=\"border-style: none solid solid solid; border-width: 1px; border-color: blue;text-align: right; padding:4px; margin:0\">" + FileModify + "</td>"); sb.Append("<td style=\"border-style: none solid solid solid; border-width: 1px; border-color: blue;text-align: right; padding:4px; margin:0\">删除</td></tr>");
}
if (count == 0)
{
sb.Append("<tr><td style=\"border-style: none solid solid solid; border-width: 1px; border-color: blue;text-align: center; padding:4px; margin:0\" colspan=\"4\"><font color='red'>该目录下没有任何文件</font></td></tr>");
}
sb.Append("</table>");
JS删除
var tbl = document.getElementById("table");
var length = tbl.rows.length;
//alert(length);
// 倒序遍历,这样才能顺利删除
for (var i = length - 1; i >= 0; i--) { //alert(table.rows[i].children(0).children(0));
//var chk = table.childNodes(i).children(0).all[0];
var chk = table.rows[i].cells[0].all[0];
//alert(chk.id);
if (chk.id.indexOf("chk") >= 0) {
if (chk.checked) {
//alert(1);
//var rowIndex = table.rows[i].parentNode.parentNode.rowIndex;
tbl.deleteRow(i);
}
}
}本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lanwilliam/archive/2010/09/17/5890104.aspx
删除按钮ID用前缀+“_”+主键ID,比如:del_1;JS添加按钮的click事件不管直接提交表单。。还是用ajax提交到一般处理程序。。用split方法得到数组的第二个元素。。就是这行主键ID。执行删除方法删除成功
删除按钮的
function removeTimeSpan(tblID)
{
if(tblID)
{
var tbl = document.getElementById(tblID);
if(tbl)
{
tbl.outerHTML = "";
}
}
return false;
}添加一横按钮的function addTimeSpan(IDPrefix, NamePrefix,IDBtn)
{
var divPPTVideoRelation = document.getElementById(IDPrefix + "divPPTVideoRelation");
if(!divPPTVideoRelation)
{
return false;
}
var lastNodeNum = divPPTVideoRelation.childNodes.length;
var Nodenum = 0;
if(lastNodeNum)
{
var newnodeNum = parseInt(lastNodeNum);
Nodenum = isNaN(newnodeNum)?0:newnodeNum;
}
for(var i=1;i<=Nodenum;i++)
{
var tblTimeSpan = divPPTVideoRelation.childNodes[i];
if(tblTimeSpan!=null)
{
if(tblTimeSpan.style.display=="none")
{
tblTimeSpan.style.display="inline";
}
}
}
var btnUnFold = document.getElementById(IDBtn);
if(btnUnFold!=null&&btnUnFold.innerText==GetJsResource("Info_Expand"))
{
btnUnFold.innerText=GetJsResource("Info_fold");
}
// 获取最大的序号
var lastNode = divPPTVideoRelation.childNodes[divPPTVideoRelation.childNodes.length - 1];
var num = 0;
if(lastNode)
{
var lastNodeNum = lastNode.id.substr((IDPrefix + "tblTimeSpan").length, lastNode.id.length);
var newNum = parseInt(lastNodeNum) + 1;
num = isNaN(newNum)?0:newNum;
}
// 构造新的一行,一行用一个table表示
var newContent = "<table id='" + IDPrefix + "tblTimeSpan" + num + "' class='maxwidth' cellpadding='1' cellspacing='0'>"
+ "<tr><td class='table-td-align-right'><span id='" + IDPrefix + "lblPageTitle" + num + "'>"+GetJsResource("Info_PageNumber_Colon")+"</span></td>"
+ "<td class='text-edit-text-align-left'><input name='" + NamePrefix + "txtPage" + num + "' type='text' id='" + IDPrefix + "txtPage" + num + "' class='table-tr-td-pagenumber-textbox-width' />"
+ "</td>"
+ "<td class='table-td-align-right'><span id='" + IDPrefix + "lblTimeSpanTitle" + num + "'>"+GetJsResource("Info_StartAndEndTime_Colon")+"</span></td>"
+ "<td class='table-tr-td-lbltimespan-align-width'><input name='" + NamePrefix + "txtTimeSpanStart" + num + "' type='text' id='" + IDPrefix + "txtTimeSpanStart" + num + "' class='table-tr-td-pagenumber-textbox-width' onblur='AutoFormatStartTime();'/>"
+ "</td>"
//+ "<td class='table-tr-td-line-width'>~</td>"
//+ "<td><input name='" + NamePrefix + "txtTimeSpanEnd" + num + "' type='text' id='" + IDPrefix + "txtTimeSpanEnd" + num + "' class='table-tr-td-pagenumber-textbox-width' /></td>"
+ "<td class='learnningsetadd-div-width'>";
if(divPPTVideoRelation.childNodes.length == 0)
{
newContent += " </td>";
}
else
{
newContent += "<input type='submit' name='" + NamePrefix + "btnDeleteTimeSpan" + num + "' value='-' id='" + IDPrefix + "btnDeleteTimeSpan" + num
+ "' class='btn' onclick='return removeTimeSpan(\"" + IDPrefix + "tblTimeSpan" + num + "\");' /></td>";
}
newContent += "<td id='" + IDPrefix + "tdHiddens" + num + "'><input name='" + NamePrefix + "hdnTxtPage" + num + "' type='hidden' id='" + IDPrefix + "hdnTxtPage" + num + "' value='|" + IDPrefix + "txtPage" + num + GetJsResource("Info_HiddenPageNumber")+"' />"
+ "<input name='" + NamePrefix + "hdnTxtPageCheck" + num + "' type='hidden' id='" + IDPrefix + "hdnTxtPageCheck" + num + "' value='VideoPPTPageNum|" + IDPrefix + "txtPage" + num + "||||' />"
+ "<input name='" + NamePrefix + "hdnTxtTimeSpanStart" + num + "' type='hidden' id='" + IDPrefix + "hdnTxtTimeSpanStart" + num + "' value='|" + IDPrefix + "txtTimeSpanStart" + num +GetJsResource("Info_HiddenStartTime")+ "' />"
+ "<input name='" + NamePrefix + "hdnTxtTimeSpanStartCheck" + num + "' type='hidden' id='" + IDPrefix + "hdnTxtTimeSpanStartCheck" + num + "' value='VideoPPTStartEndTime|" + IDPrefix + "txtTimeSpanStart" + num + GetJsResource("Info_HiddenStartAndEndTime")+"' />"
//+ "<input name='" + NamePrefix + "hdnTxtTimeSpanEnd" + num + "' type='hidden' id='" + IDPrefix + "hdnTxtTimeSpanEnd" + num + "' value='|" + IDPrefix + "txtTimeSpanEnd" + num +GetJsResource("Info_HiddenEndTime") +"' />"
//+ "<input name='" + NamePrefix + "hdnTxtTimeSpanEndCheck" + num + "' type='hidden' id='" + IDPrefix + "hdnTxtTimeSpanEndCheck" + num + "' value='VideoPPTStartEndTime|" + IDPrefix + "txtTimeSpanEnd" + num + GetJsResource("Info_HiddenStartAndEndTime")+"' />"
//+ "<input name='" + NamePrefix + "hdnTimeStartEndChcek" + num + "' type='hidden' id='" + IDPrefix + "hdnTimeStartEndChcek" + num + "' value='custom|" + IDPrefix + "txtTimeSpanStart" + num + "," + IDPrefix + "txtTimeSpanEnd" + num + GetJsResource("Info_PPTAndVedioCorrespondenceRelation")+"' />"
+ "</td></tr></table>";
divPPTVideoRelation.innerHTML = divPPTVideoRelation.innerHTML + newContent;
return false;
}
这种做法本身就很ugly