GridView控件如何在CheckBox选择之后将该行数据隐藏

qq_35280214 2017-05-23 02:52:56
后台代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Linq;
using System.Xml.Linq;
using Club.Model;

public partial class GL_HDYY : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Get_Article();
BindResult();
}
}
private void Get_Article()
{
try
{


gvData.DataSource = GetCodeBy(0);
gvData.DataBind();
}
catch
{

}

}
public DataSet GetCodeBy(int iCount)
{
PubConstant date = new PubConstant();

string strTop = "";

if (iCount > 1)
{
strTop = "top " + iCount.ToString();
}
string sql = "select " + strTop + " * from Activity where [open]='是' ";
SqlConnection con = new SqlConnection(PubConstant.ConnectionString);
SqlCommand cmd = new SqlCommand(sql, con);

SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = null;
try
{
con.Open();
ds = new DataSet();
da.Fill(ds);

}
catch (SqlException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
return ds;
}

#region 数据绑定
/// <summary>
///绑定列表
/// </summary>
private void BindResult()
{

//组合查询条件
string strSqlWhere = string.Empty;
if (this.KSCX.SelectedValue.Trim() != "全部")
{
if (this.txtCXNR.Text != "")
{
strSqlWhere += " and " + this.KSCX.SelectedValue.Trim() + " like '%" + this.txtCXNR.Text.Trim() + "%'";
}
}
T_HD modelList = new T_HD();
DataTable dt = modelList.GetListINFO(strSqlWhere).Tables[0];
if (dt != null)
{
this.gvData.DataKeyNames = new string[] { "ActID" };
this.gvData.DataSource = dt;
this.gvData.DataBind();
//ShowStats(dt.Rows.Count.ToString());
}
}
#endregion
#region 设置翻页按钮事件
public void PagerButtonClick(object sender, EventArgs e)
{
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch (arg)
{
case "next":
if (gvData.PageIndex < (this.gvData.PageCount - 1))
{
gvData.PageIndex += 1;
}
break;
case "prev":
if (gvData.PageIndex > 0)
{
gvData.PageIndex -= 1;
}
break;
case "last":
if (gvData.PageCount != 0)
{
gvData.PageIndex = (gvData.PageCount - 1);
}
else
{
gvData.PageIndex = 0;
}
break;
default:
gvData.PageIndex = System.Convert.ToInt32(arg);
break;
}
//绑定列表
BindResult();

}
#endregion

#region 按钮事件
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnSearch_Click(object sender, ImageClickEventArgs e)
{
BindResult();
}
protected void btnSelectAll_Click(object sender, EventArgs e)
{

Button btn = (Button)sender;
bool isOK = false;
if (btn.Text == "全选")
{
isOK = true;
//找到PagerTemplate中的全选按钮
btnSelectAll.Text = "取消全选";
}
else
{
btnSelectAll.Text = "全选";
}

foreach (GridViewRow row in gvData.Rows)
{
((CheckBox)row.Cells[0].FindControl("chkSelect")).Checked = isOK;
}
}
protected void btnDel_Click(object sender, EventArgs e)
{
for (int rowIndex = 0; rowIndex < gvData.Rows.Count; rowIndex++)
{
if (((CheckBox)gvData.Rows[rowIndex].Cells[0].FindControl("chkSelect")).Checked)
{

if(DelCode(Convert.ToInt32(gvData.DataKeys[rowIndex].Value)))
{
gvData.Rows[rowIndex].Visible = false;
}

if (UpdateRenShu(Convert.ToInt32(gvData.DataKeys[rowIndex].Value)))
{

}
}
}
BindResult();
ResponseMessage(this.Page, "申请成功!");
}
public bool @DelCode(int id)
{
bool isOK = false;
//string sql = "insert into Reservation(ClassID,artID,artName,classname,classmajor,classphone)values('" + Session["ID"].ToString() + "','" + id + "','" + Session["Artname"].ToString() + "','" + Session["Classname"].ToString() + "','" + Session["Classpmajor"].ToString() + "','" + Session["Classphone"].ToString() + "')";
string sql = "insert into Reservation(UserID,actID)values('" + Session["ID"].ToString() + "','" + id + "')";
SqlConnection con = new SqlConnection(PubConstant.ConnectionString);
SqlCommand cmd = new SqlCommand(sql, con);

try
{
con.Open();
if (cmd.ExecuteNonQuery() > 0)
isOK = true;
}
catch (SqlException ex)
{
throw ex;
}
finally
{
con.Close();
}
return isOK;

}
public bool UpdateRenShu(int id)
{
bool isOK = false;
string sql = "update Activity set ActNumber=ActNumber+1 where id=" + id;
SqlConnection con = new SqlConnection(PubConstant.ConnectionString);
SqlCommand cmd = new SqlCommand(sql, con);
try
{
con.Open();
if (cmd.ExecuteNonQuery() > 0)
isOK = true;
}
catch (SqlException ex)
{
throw ex;
}
finally
{
con.Close();
}
return isOK;
}

protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvData.PageIndex = e.NewPageIndex;
BindResult();
}
}







...全文
215 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
水哥阿乐 2017-05-25
  • 打赏
  • 举报
回复
类似于这种判断 ((CheckBox)row.Cells[0].FindControl("chkSelect")).Checked = isOK;再作 一次数据筛选再将基赋给dt就行了,dt变了,数据自然变了
  • 打赏
  • 举报
回复
假设你打勾(选择)的目的就是确认其“申请成功”,那么你应该数据设计中就有这个对应的业务字段,并且在你的 BindResult 中就只是查询申请尚未成功的那些记录。不应该“申请成功”只在界面 GridView 上做设计,应该从界面一直更新到底层数据库。
dqzzzz1 2017-05-25
  • 打赏
  • 举报
回复
触发更新事件后,然后重新绑定GridView
紫魂一号 2017-05-23
  • 打赏
  • 举报
回复
直接前台脚本控制吧。通过checkbox 找到它的父对象的父对象(row), 然后对这个对象写样式 display:none
  • 打赏
  • 举报
回复
数据源里直接过滤掉不就行了?增加个标志位对应复选框

62,242

社区成员

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

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

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

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