如何整批删除文章?

wlmemail 2006-07-20 11:48:58
小弟,近日写程序,希望能把文章一次性删除掉
用了checkbox,可是没有用没有反应。
...全文
155 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
winner2050 2006-07-21
  • 打赏
  • 举报
回复
因为你没有设置DataGrid1.DataKeyField是那个字段
wlmemail 2006-07-21
  • 打赏
  • 举报
回复
再顶
wlmemail 2006-07-21
  • 打赏
  • 举报
回复
可是为什么我写的就没有用呢,提示说"索引超出范围。必须为非负值并小于集合大小。参数名: index "
zss1100 2006-07-21
  • 打赏
  • 举报
回复
搜索先,很多
http://community.csdn.net/Expert/topic/4805/4805503.xml?temp=.7827875
wlmemail 2006-07-21
  • 打赏
  • 举报
回复
顶!
wlmemail 2006-07-21
  • 打赏
  • 举报
回复
楼上说,JAVASCRIPT实现关键字的集合。小弟是这样实现的,用了一个这样的JAVASCRIPT

function checkFormAll(chk)
{
form = document.getElementById("TableForm");
for(var i = 0; i < form.elements.length; i++)
{
if (form.elements[i].type == "checkbox")
{
form.elements[i].checked = chk;
}
}
}

然后再页面里面调用这个函数的。
关键是现在我多选了也没有用,前台DataGrid是这样的:

<asp:datagrid id="list" runat="server" AutoGenerateColumns="False" Width="100%" DataKeyField="id">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<div align="center"><table>
<tr>
<td><strong>项目名称</strong></td>
</tr>
</table>
</div>
</HeaderTemplate>
<ItemTemplate>
<table width="100%" height="22" cellspacing="0">
<tr>
<td class="bottom_left_td">    <%#DataBinder.Eval(Container,"DataItem.title")%></td>
</tr>
</table>
</div>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderStyle HorizontalAlign="Center" Width="10%" VerticalAlign="Middle"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<HeaderTemplate>
<div align="center"><input type="checkbox" onClick="checkFormAll(this.checked)" /></div>
</HeaderTemplate>
<ItemTemplate>
<div align="center">
<asp:CheckBox Runat="server" ID="choseid" /></div>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
wsxcy66668888 2006-07-21
  • 打赏
  • 举报
回复
做个记号
zdh001 2006-07-21
  • 打赏
  • 举报
回复
全选用JAVASCRIPT实现关键字的集合,在服务端用批量删除即可
delete from table where keys in (传过来的字符串)
job_2006 2006-07-21
  • 打赏
  • 举报
回复
SqlConnection MyConnection = new SqlConnection("server=(local);database=bysj;Trusted_Connection=yes");
string DeleteCmd = "DELETE FROM ygwage WHERE ygid = @ygid AND wagedate BETWEEN @LowerDate AND @UpperDate";
//And dixin=@dixin";
SqlCommand MyCommand = new SqlCommand(DeleteCmd, MyConnection);
MyCommand.Parameters.Add("@ygid", SqlDbType.Int);

MyCommand.Parameters.Add(new SqlParameter("@LowerDate", SqlDbType.DateTime));
MyCommand.Parameters["@LowerDate"].Value = Convert.ToDateTime(TextBox2.Text);

MyCommand.Parameters.Add(new SqlParameter("@UpperDate", SqlDbType.DateTime));
MyCommand.Parameters["@UpperDate"].Value = Convert.ToDateTime(TextBox3.Text);



bool IsChecked = false;
// 此回圈判断哪些核取方块已被勾选,并将相对应的资料记录删除。
foreach (DataGridItem CheckBoxItem in DataGrid1.Items)
{
IsChecked = ((CheckBox)CheckBoxItem.FindControl("CB")).Checked;
//if(IsChecked==false)
//{
//Page.RegisterStartupScript("Alert","<script language=javascript>alert('请选择要删除的项!');</script>");
//}
if (IsChecked)
{
// 取得使用者欲删除之资料记录的主索引键(亦即员工编号)
// 然後将它指派给 DELETE 命令叙述中的参数。
MyCommand.Parameters["@ygid"].Value =DataGrid1.DataKeys[CheckBoxItem.ItemIndex];
//MyCommand.Parameters["@dixin"].Value =DataGrid1.DataKeys[CheckBoxItem.ItemIndex];
MyCommand.Connection.Open();
try
{
// 呼叫 ExecuteNonQuery() 方法以便针对资料来源执行 DELETE 命令

MyCommand.ExecuteNonQuery();
Message1.Text = "成功删除";
Message1.Visible=true;


//Page.RegisterStartupScript("Alert","<script language=javascript>alert('成功删除!');</script>");
}
catch
//(SqlException)
{
Message.Text = "错误: 无法删除资料纪录";
//Response.Write("<script>alert('删除失败!');history.back();</Script>");
}
MyCommand.Connection.Close();
}
}
// 重新系结至资料来源
BindGridToSource();
}






前台::

<HTML>
<HEAD>
<title>searchwagemessage</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<LINK href="../../images/style.css" type="text/css" rel="stylesheet">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<SCRIPT language="javascript" src="js\popup.js"></SCRIPT>
<script language="javascript">
function myCheck()
{
var mycount = 0 ;
var mm = document.getElementsByTagName("input").length ;
for(var i=0;i<mm;i++)
{
var dd = document.getElementsByTagName("input").item(i);
if(dd.type == "checkbox")
{
if(dd.checked == true)
{
mycount += 1;
}
}
}

if(mycount == 0)
{
alert("您还未选择,请选择!");
return(false);
}
else
{
return(confirm("本次操作将删除该时间段的所有记录,注意!是该时间段!您真的要删除它吗?"));
}
}
</script>
<script language="javascript">
<!--
function CheckAllCus()
{
for (var k=0;k<document.Form1.elements.length;k++)
{
var e = document.Form1.elements[k];
if (e.id!= 'checkAccept')

e.checked = document.Form1.checkAccept.checked;
}
}
//-->
</script>
<script language="JavaScript">
javascript:window.history.forward(1);
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE id="Table2" style="Z-INDEX: 104; LEFT: 24px; WIDTH: 603px; POSITION: absolute; TOP: 120px; HEIGHT: 168px"
cellSpacing="1" cellPadding="1" width="603" border="1">
<TR>
<TD style="HEIGHT: 11px" align="center" bgColor="#0099cc"><FONT face="宋体"><FONT face="宋体"><STRONG><FONT face="宋体"><FONT face="宋体" color="#ff0033"><STRONG>员工工资查询</STRONG></FONT></FONT></STRONG></FONT></FONT></TD>
</TR>
<TR>
<TD style="HEIGHT: 106px" align="center" colSpan="1" rowSpan="1"><asp:label id="Label2" runat="server" Font-Size="10" ForeColor="#400040">从</asp:label><asp:textbox id="TextBox2" runat="server" Width="80px" ReadOnly="True"></asp:textbox><A onclick="fPopUpDlg('js/date.htm', document.forms[0].TextBox2, 'winpop',300,100, 234, 261);return false"
href="#"><IMG src="js\datetime.gif" border="0"></A>
<asp:label id="Label3" runat="server" Font-Size="10" ForeColor="#400040">到 </asp:label><asp:textbox id="TextBox3" runat="server" Width="80px" ReadOnly="True"></asp:textbox><A onclick="fPopUpDlg('js/date.htm', document.forms[0].TextBox3, 'winpop',300,100, 234, 261);return false"
href="#"><IMG src="js\datetime.gif" border="0"></A>
<asp:label id="Label1" runat="server" Font-Size="10" ForeColor="#400040">员工编号</asp:label><asp:textbox id="TextBox1" runat="server" Width="84px"></asp:textbox><asp:button id="Button1" runat="server" Text="执行查询"></asp:button>
<DIV style="OVERFLOW: auto; WIDTH: 594px; HEIGHT: 150px"><asp:datagrid id="DataGrid1" runat="server" Width="673px" HorizontalAlign="Center" ToolTip="双击查看详细信息"
DataKeyField="ygid" CellPadding="3" BackColor="White" BorderWidth="1px" BorderStyle="None" BorderColor="#CCCCCC" AutoGenerateColumns="False">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#669999"></SelectedItemStyle>
<ItemStyle Font-Size="12px" ForeColor="#000066"></ItemStyle>
<HeaderStyle Font-Size="12px" Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="#006699"></HeaderStyle>
<FooterStyle ForeColor="#000066" BackColor="White"></FooterStyle>
<Columns>
<asp:TemplateColumn>
<HeaderStyle Width="3%"></HeaderStyle>
<HeaderTemplate>
<INPUT id="checkAccept" type="checkbox" onclick="CheckAllCus()">
<asp:Label id="Label4" runat="server">全选</asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="CB" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="ygid" HeaderText="员工编号">
<HeaderStyle Font-Size="10pt" Width="5%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="dixin" HeaderText="底薪/元">
<HeaderStyle Font-Size="10pt" Width="5%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="jlwage" HeaderText="奖金/元">
<HeaderStyle Width="5%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="chengfwage" HeaderText="惩罚金/元">
<HeaderStyle Width="5%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="sfwage" HeaderText="实发工资/元">
<HeaderStyle Font-Size="10pt" Width="5%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="wagedate" HeaderText="日期 " DataFormatString="{0:yyyy-MM-dd}">
<HeaderStyle Font-Size="10pt" Width="5%"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle Visible="False" NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Left" ForeColor="#000066"
BackColor="White" Mode="NumericPages"></PagerStyle>
</asp:datagrid></DIV>
</TD>
</TR>
<TR>
<TD style="HEIGHT: 4px" vAlign="top"><FONT face="宋体"></FONT></TD>
</TR>
<TR>
<TD style="HEIGHT: 3px" align="center" colSpan="1" rowSpan="1"><asp:button id="Button2" runat="server" Text="删除" Enabled="False"></asp:button><INPUT id="Reset1" type="reset" value="重置" name="Reset1" runat="server"></TD>
</TR>
<TR>
<TD align="center"><FONT face="宋体"><webdiyer:aspnetpager id="AspNetPager1" runat="server" HorizontalAlign="Center" Wrap="False" TextBeforeInputBox="转到第"
TextAfterInputBox="页" SubmitButtonText="GO" PageSize="6" ShowInputBox="Always" ShowCustomInfoSection="Left" alwaysShow="true"
Font-Size="10"></webdiyer:aspnetpager></FONT></TD>
</TR>
</TABLE>
<asp:label id="Message" style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 80px" runat="server"
Width="152px" Font-Size="15px" ForeColor="Red" Font-Bold="True"></asp:label><asp:label id="Message1" style="Z-INDEX: 103; LEFT: 136px; POSITION: absolute; TOP: 80px" runat="server"
Width="88px" Font-Size="10pt" ForeColor="Red" Font-Bold="True"></asp:label>
<asp:Button id="Button4" style="Z-INDEX: 105; LEFT: 56px; POSITION: absolute; TOP: 72px" runat="server"
Text="Button"></asp:Button></form>
</body>
</HTML>
loveic 2006-07-21
  • 打赏
  • 举报
回复
if(check.Checked)
{
if(id==null || id=="")
id=list.DataKeys[item.ItemIndex];
else
id+=","+list.DataKeys[item.ItemIndex];
}
wlmemail 2006-07-21
  • 打赏
  • 举报
回复
为什么我每次多选了以后,只能得到一个结果啊,不管我选了多少最后只有一个选项是真正被删除的代码是这样的:

private void submit_Click(object sender, System.EventArgs e)
{
string id=null;

foreach (DataGridItem item in list.Items)
{

CheckBox check=(CheckBox)item.FindControl("choseid");
if (check.Checked)
{
id=","+list.DataKeys[item.ItemIndex];
}


}
Label1.Text=id;
BindData();
wlmemail 2006-07-20
  • 打赏
  • 举报
回复
是从上到下的那种,后面有选择的,如果想删除就选上,然后一起通过一个按钮删除掉!
wenyiyi 2006-07-20
  • 打赏
  • 举报
回复
这些文章不是在一个组里吧?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧