datagrid中有一个checkbox但是选中后没有反应,程序写的有什么问题??
下面是程序 帮忙看看
protected void Page_Load(object sender, EventArgs e)
{
{
GV(); //向gridview中插入一个静态表
GridView1.DataBind();
} } protected void Del_Btn_Click(object sender, EventArgs e)
{
System.Web.UI.WebControls.CheckBox chk;
int i = 0;
foreach (GridViewRow gvr in GridView1.Rows)
{
chk = (gvr.FindControl("CBox") as CheckBox); if (chk.Checked)
{
delete();
}
DAT.Dispose();
}
}<asp:GridView ID="GridView1" runat="server" DataKeyNames ="id" AllowPaging ="True" AutoGenerateColumns ="False" Font-Size="10pt"
HorizontalAlign ="Center" OnPageIndexChanging ="changepage" Height="129px" Width="431px" ShowHeader="False">
<Columns >
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CBox" runat="server">
</asp:CheckBox>
</ItemTemplate>
<ItemStyle Width="28px" />
</asp:TemplateField>
<asp:BoundField DataField ="HTML" HtmlEncode ="False"/>
</Columns>
</asp:GridView>
下面是程序 帮忙看看
protected void Page_Load(object sender, EventArgs e)
{
{
GV(); //向gridview中插入一个静态表
GridView1.DataBind();
} } protected void Del_Btn_Click(object sender, EventArgs e)
{
System.Web.UI.WebControls.CheckBox chk;
int i = 0;
foreach (GridViewRow gvr in GridView1.Rows)
{
chk = (gvr.FindControl("CBox") as CheckBox); if (chk.Checked)
{
delete();
}
DAT.Dispose();
}
}<asp:GridView ID="GridView1" runat="server" DataKeyNames ="id" AllowPaging ="True" AutoGenerateColumns ="False" Font-Size="10pt"
HorizontalAlign ="Center" OnPageIndexChanging ="changepage" Height="129px" Width="431px" ShowHeader="False">
<Columns >
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CBox" runat="server">
</asp:CheckBox>
</ItemTemplate>
<ItemStyle Width="28px" />
</asp:TemplateField>
<asp:BoundField DataField ="HTML" HtmlEncode ="False"/>
</Columns>
</asp:GridView>
解决方案 »
- 存储过程中字符串拼接起来和直接代码里写sql字符串,有区别吗?
- ASP.NET中的时区问题
- 怎样在Web.config里设置try-catch出错后访问的错误页
- 新手求教一个很简单的问题,伤心的就是我不会,请赐教!
- 请问ASP页面弹出窗口的问题
- 『UP有分』 ●●● 【如何写一个方法,取得当前时间,然后.....】 ●●●
- asp.net后台值怎么传到前台(html)中控件(在绑定列)中
- WEB自定义控件属性的两个问题!
- asp.net里怎么得到javascript里prompt的输入值
- 请问如何做一个注册Windows用户的页面,以便将应用用户与windows的AD用户捆绑
- 服務器內存負載求助
- 在xp下发邮件的问题
那你这个又是怎么实现??
{
if (((CheckBox)this.GridView1.Rows[i].Cells[0].FindControl("CheckBox1")).Checked == true)
//这里CheckBox1绑定在第一列
{
delete();
}
}
参考下。对照着改下。
for(int n=0;n<DataGrid1.Items.Count;n++)
{
CheckBox cb=(CheckBox)DataGrid1.Items[n].Cells[0].FindControl("CheckBox2");
if(cb.Checked)
{
int id=int.Parse(DataGrid1.DataKeys[DataGrid1.Items[n].ItemIndex].ToString());
comp1.uid=id;
if(comp1.SelectOne1()!=null)
{
login1.pName=comp1.SelectOne1().Tables[0].Rows[0]["comid"].ToString();
login1.DeleteOne();
}
comp1.DeleteOne();
}
}
for(int n=0;n <DataGrid1.Items.Count;n++)
{
CheckBox cb=(CheckBox)DataGrid1.Items[n].Cells[0].FindControl("CheckBox2");
if(cb.Checked)
{
//删除操作;
}
}
应该在RowDataBound给CheckBox 加载事件,如下事例
protected void gvStudents_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
CheckBox chkHeader = e.Row.FindControl("chkTermHeader") as CheckBox;
if (chkHeader != null)
chkHeader.Attributes["onclick"] = "javascript:SelectAll(this,'" + gvStudents.ClientID + "','chkTermId')";
}
else if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chkItem = e.Row.FindControl("chkTermId") as CheckBox;
if (chkItem != null)
{
chkItem.Attributes["onclick"] = "javascript:SelectTicketItem(this,'" + gvStudents.ClientID + "')";
} }
}
JS:
function SelectAll(chkHeader,gvName,chkItemName){
var frm = document.forms[0];
//debugger
for (i=0;i<frm.length;i++)
{
var obj=frm.elements[i];
if (obj.tagName=='INPUT'){
if (obj.type.toLowerCase()=='checkbox'){
if ((obj.id.indexOf(chkItemName)!=-1) && (obj.id.indexOf(gvName)!=-1)){
if (!obj.disabled)
obj.checked=chkHeader.checked;
}
}
}
}
}
function SelectTicketItem(chkTicketItem,gvName){
if (chkTicketItem.checked==true) return;
var frm = document.forms[0];
//debugger
var chkHeader;
for (i=0;i<frm.length;i++)
{
var obj=frm.elements[i];
if (obj.tagName=='INPUT'){
if (obj.type.toLowerCase()=='checkbox'){
if ((obj.id.indexOf('chkTermHeader')!=-1) && (obj.id.indexOf(gvName)!=-1)){
chkHeader=obj;
break;
}
}
}
}
if (chkHeader==undefined)
return;
chkHeader.checked=false;
}
还是引用checkBox的问题.
{
CheckBox chk=(CheckBox)this.dgjianlilist.Items[i].Cells[0].FindControl("控件名称");
if(chk.Checked)
{
//删除方法
}
但是就是选中后无效
{
if(ispostback!=true)
{
GV();
}
}
这样就可以了你试试,否则你每次都会刷新页面 checkbox就自动清空了
youunknow
哎太明显了呀,简直是一个人。
{
GV(); //向gridview中插入一个静态表
GridView1.DataBind();
}
这样试试。