datagrid中怎么判断checkbox被选中? 在datagrid中加入一列checkbox列,我只是选中其中几行,怎么判断被选中了呢?我看网上只有全选活全不选的,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #region 删除选定的一个或多个记录. /// <summary> /// 删除选定的一个或多个记录. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDel_Click(object sender, System.EventArgs e) { CheckBox cbx; string strSql=""; foreach(DataGridItem item in DgNews.Items) { cbx=(CheckBox)item.FindControl("cbxNews"); if (cbx.Checked==true) { strSql+=DgNews.DataKeys[item.ItemIndex].ToString()+","; } } if(strSql.Length>0) { strSql=strSql.Substring(0,strSql.Length-1); } if (strSql.Length>0)//若选择了记录 { strSql="delete from news where news_id in ("+strSql+")"; //执行删除操作 connE.RunSql(strSql); this.createdatasource(DgNews.CurrentPageIndex+1); } } #endregion <asp:TemplateColumn> <ItemTemplate> <asp:CheckBox ID="cbxNews" runat="server" AutoPostBack="False"></asp:CheckBox> </ItemTemplate> </asp:TemplateColumn> private string GetSelectedItemID(string controlID){string selectedID;selectedID = "";//遍历DataGrid获得checked的IDforeach (DataGridItem item in dbStaffList.Items){if(((CheckBox)item.FindControl(controlID)).Checked==true ) selectedID += dbStaffList.DataKeys[item.ItemIndex] + ",";} if(selectedID.Length>0)selectedID=selectedID.Substring(0,selectedID.Length-1); return selectedID; } string selectedstring = ""; foreach(DataGridItem dgi in dgUserInfo.Items) { for(int i=0;i<dgi.Cells[0].Controls.Count;i++) { if(dgi.Cells[0].Controls[i].GetType().ToString()=="System.Web.UI.WebControls.CheckBox") { if(((CheckBox)dgi.Cells[0].Controls[i]).Checked==true) { selectedstring += dgUserInfo.DataKeys[dgi.ItemIndex].ToString() + ","; } } } } http://dotnet.aspx.cc/ShowDetail.aspx?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459为DataGrid添加CheckBox控件 作者:孟宪会 出自:【孟宪会之精彩世界】 private void IsChecked() { string jsScript = "<script language=JavaScript> \n" + "<!-- \n" + "function IsChecked (frm) { \n" + " var chkNum=0;\n" + " // loop through all elements \n" + " for (i=0; i<frm.length; i++) {\n \n" + " // Look for our checkboxes only \n" + " if (frm.elements[i].name.indexOf ('chkChoose') !=-1) { \n" + " // 选中的记录 \n" + " if(frm.elements[i].checked) { \n" + " chkNum = chkNum +1;\n" + " } \n" + " } \n" + " } \n" + " if(chkNum == 0){ \n" + " alert('请选择资产扩展属性!');\n" + " return false;}\n" + "} \n \n \n" + "//--> \n" + "</script>"; if(!IsClientScriptBlockRegistered("clientScript")) { // 测试该ID的脚本是否已经被注册,若还没被注册则将之注册 Page.RegisterClientScriptBlock("clientScript",jsScript); } // ---------修改记录结束---------- } adandelion(被封杀) 的方法就可以! 给个更好的方法——————————<script language="javascript"> function getChkLen() { var chkDel = document.Form1.chkDel; var len = 0; for(var i=0;i<chkDel.length;i++) { if (chkDel[i].checked == true) { len ++; } } return len; } function DelNews(id) { if (getChkLen() == 0) return; document.all.eAction.value = "delete"; /*alert(document.all.Form1.chkDel[0].value);*/ if (confirm("你真的要删除已选中的新闻吗?")) { document.Form1.submit(); } }</script>———————————— /// <summary> /// 方法:删除选定新闻 /// </summary> /// <param name="sTable"></param> private void Del_News(string sTable) { if (Request.Form.Get("eAction") != null && Request.Form["eAction"] == "delete") { if (Request.Form["chkDel"].Length > 0) { try { string sCondit = this.NewsID + " IN (" + Request.Form.Get("chkDel") + ")"; EveDb.DbExec.Delete(sTable, sCondit); } catch { Inc.MessageBox("未能删除指定内容!", ""); } finally { Response.Redirect(Request.RawUrl,true); } } } } 聊天室程序状态管理 girdview动态绑定列 这个语句不使用嵌套查询的话如何写? 怎样去学习使用ASP? 请各位用过AspNetPager的大大看过来,帮帮忙 正则表达式导致程序失去响应 低级问题 关于DataGrid弹出窗口问题. OCX、MFC、ATL在C#服务器代码区被调用的致命问题? 急!!!!关于复合控件开发的问题? 没分了,大家帮下忙吧``困饶了很久了 在一个web应用中,用户login,应用设置session,我希望当用户离开一段时间后,session time.........
/// <summary>
/// 删除选定的一个或多个记录.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDel_Click(object sender, System.EventArgs e)
{
CheckBox cbx;
string strSql="";
foreach(DataGridItem item in DgNews.Items)
{
cbx=(CheckBox)item.FindControl("cbxNews");
if (cbx.Checked==true)
{
strSql+=DgNews.DataKeys[item.ItemIndex].ToString()+",";
}
}
if(strSql.Length>0)
{
strSql=strSql.Substring(0,strSql.Length-1);
}
if (strSql.Length>0)//若选择了记录
{
strSql="delete from news where news_id in ("+strSql+")";
//执行删除操作
connE.RunSql(strSql);
this.createdatasource(DgNews.CurrentPageIndex+1);
}
}
#endregion
<ItemTemplate>
<asp:CheckBox ID="cbxNews" runat="server" AutoPostBack="False"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
{
string selectedID;
selectedID = "";
//遍历DataGrid获得checked的ID
foreach (DataGridItem item in dbStaffList.Items)
{
if(((CheckBox)item.FindControl(controlID)).Checked==true )
selectedID += dbStaffList.DataKeys[item.ItemIndex] + ",";
}
if(selectedID.Length>0)
selectedID=selectedID.Substring(0,selectedID.Length-1);
return selectedID;
}
foreach(DataGridItem dgi in dgUserInfo.Items)
{
for(int i=0;i<dgi.Cells[0].Controls.Count;i++)
{
if(dgi.Cells[0].Controls[i].GetType().ToString()=="System.Web.UI.WebControls.CheckBox")
{
if(((CheckBox)dgi.Cells[0].Controls[i]).Checked==true)
{
selectedstring += dgUserInfo.DataKeys[dgi.ItemIndex].ToString() + ",";
}
}
}
}
作者:孟宪会 出自:【孟宪会之精彩世界】
{
string jsScript = "<script language=JavaScript> \n"
+ "<!-- \n"
+ "function IsChecked (frm) { \n"
+ " var chkNum=0;\n"
+ " // loop through all elements \n"
+ " for (i=0; i<frm.length; i++) {\n \n"
+ " // Look for our checkboxes only \n"
+ " if (frm.elements[i].name.indexOf ('chkChoose') !=-1) { \n"
+ " // 选中的记录 \n"
+ " if(frm.elements[i].checked) { \n"
+ " chkNum = chkNum +1;\n"
+ " } \n"
+ " } \n"
+ " } \n"
+ " if(chkNum == 0){ \n"
+ " alert('请选择资产扩展属性!');\n"
+ " return false;}\n"
+ "} \n \n \n"
+ "//--> \n"
+ "</script>";
if(!IsClientScriptBlockRegistered("clientScript"))
{
// 测试该ID的脚本是否已经被注册,若还没被注册则将之注册
Page.RegisterClientScriptBlock("clientScript",jsScript);
}
// ---------修改记录结束----------
}
{
var chkDel = document.Form1.chkDel;
var len = 0;
for(var i=0;i<chkDel.length;i++)
{
if (chkDel[i].checked == true)
{
len ++;
}
}
return len;
}
function DelNews(id)
{
if (getChkLen() == 0) return;
document.all.eAction.value = "delete";
/*alert(document.all.Form1.chkDel[0].value);*/
if (confirm("你真的要删除已选中的新闻吗?"))
{
document.Form1.submit();
}
}
</script>———————————— /// <summary>
/// 方法:删除选定新闻
/// </summary>
/// <param name="sTable"></param>
private void Del_News(string sTable)
{
if (Request.Form.Get("eAction") != null && Request.Form["eAction"] == "delete")
{
if (Request.Form["chkDel"].Length > 0)
{
try
{
string sCondit = this.NewsID + " IN (" + Request.Form.Get("chkDel") + ")";
EveDb.DbExec.Delete(sTable, sCondit);
}
catch
{
Inc.MessageBox("未能删除指定内容!", "");
}
finally
{
Response.Redirect(Request.RawUrl,true);
}
}
}
}