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

小弟我是新手,写的一个多条记录删除的删除事件

2012-02-12 
我是新手,写的一个多条记录删除的删除事件删除按钮是与DataGrid分开的下面是删除按钮事件:privatevoidQKde

我是新手,写的一个多条记录删除的删除事件
删除按钮是与DataGrid分开的下面是删除按钮事件:

private   void   QKdelete_Click(object   sender,   System.EventArgs   e)
{
        for(int   i=1;i <=WGQKnum();i++)//WGQKnum()是DataGrid的记录个数
        {
if(((CheckBox)WGQK.Items[i].Cells[1].FindControl( "BHQK ")).Checked==true)
        {
                QKdelete.Attributes[ "onClick "]= "alert(1) ";
        }
        }
}
但是在运行到:
if(((CheckBox)WGQK.Items[i].Cells[1].FindControl( "BHQK ")).Checked==true)
的时候就无法运行,提示的错误为:

未将对象引用设置到对象的实例。  

我就是想判断被选中的复选框是否被选中,选中之后得到那个复选框的值,然后连接数据库删除...

前台的DataGrid中的复选框我是用 <input   value= ' <%#DataBinder.Eval(...)%> '/>


代码:


<asp:datagrid   id= "WGQK "   style= "Z-INDEX:   157;   LEFT:   128px;   POSITION:   absolute;   TOP:   80px "   runat= "server "
Width= "1000px "   AutoGenerateColumns= "False ">
<Columns>
<asp:TemplateColumn   HeaderText= "选择 ">
<HeaderStyle   HorizontalAlign= "Center "   Width= "40px "   VerticalAlign= "Middle "   Font-Bold= "True "> </HeaderStyle>
<ItemStyle   HorizontalAlign= "Center "   VerticalAlign= "Middle "> </ItemStyle>
<ItemTemplate>
<span   style= "TEXT-ALIGN:   center "> <input   type=checkbox   id= "BHQK "   value= ' <%#DataBinder.Eval(Container.DataItem, "编号 ")%> '>
</span>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn   HeaderText= "检查时间 ">
<HeaderStyle   HorizontalAlign= "Center "   Width= "80px "   VerticalAlign= "Middle "   Font-Bold= "True "> </HeaderStyle>
<ItemStyle   HorizontalAlign= "Center "   VerticalAlign= "Middle "> </ItemStyle>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "检查时间 ")%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn   HeaderText= "检查内容 ">
<HeaderStyle   HorizontalAlign= "Center "   Width= "100px "   VerticalAlign= "Middle "   Font-Bold= "True "> </HeaderStyle>
<ItemStyle   HorizontalAlign= "Center "   VerticalAlign= "Middle "> </ItemStyle>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "检查内容 ")%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn   HeaderText= "检查情况 ">
<HeaderStyle   HorizontalAlign= "Center "   Width= "100px "   VerticalAlign= "Middle "   Font-Bold= "True "> </HeaderStyle>
<ItemStyle   HorizontalAlign= "Center "   VerticalAlign= "Middle "> </ItemStyle>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "检查情况 ")%>
</ItemTemplate>
</asp:TemplateColumn>


<asp:TemplateColumn   HeaderText= "处理过程及结果 ">
<HeaderStyle   HorizontalAlign= "Center "   Width= "680px "   VerticalAlign= "Middle "   Font-Bold= "True "> </HeaderStyle>
<ItemStyle   HorizontalAlign= "Center "   VerticalAlign= "Middle "> </ItemStyle>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "处理过程及结果 ")%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>





}


判断复选框是否被选中应该怎样书写
如果实在不行我用javascript将值GET的方式传入下一个页面,在载入的时候处理

[解决办法]
//是否选中
bool flag=false;
for(int n=0;n <WGQK.Items.Count;n++)
{
CheckBox cb=(CheckBox)WGQK.Items[n].Cells[0].FindControl( "BHQK ");
if(cb.Checked)
{
flag=true;
}
}
//选中时,
if(flag)
{
for(int n=0;n <WGQK.Items.Count;n++)
{
CheckBox cb=(CheckBox)WGQK.Items[n].Cells[0].FindControl( "BHQK ");
if(cb.Checked)
{
int id=int.Parse(WGQK.DataKeys[WGQK.Items[n].ItemIndex].ToString());
hy.id=id;
hy.DeleteOne();
}
}
}
//未选中时
else
{
this.Page.RegisterStartupScript( " ", " <script> alert( '您没有选择任何一项! ') </script> ");
}

热点排行