dev GirdView自动筛选行,如何实现多选?

NotNull 2014-04-11 11:25:48
如题,
并不是使用它


但是最终筛选效果是一样

...全文
579 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao_2215053674 2014-06-21
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["SortOrder"] = "stuname"; ViewState["OrderDire"] = "ASC"; bind(); } } protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { string sPage = e.SortExpression; if (ViewState["SortOrder"].ToString() == sPage) { if (ViewState["OrderDire"].ToString() == "Desc") ViewState["OrderDire"] = "ASC"; else ViewState["OrderDire"] = "Desc"; } else { ViewState["SortOrder"] = e.SortExpression; } bind(); } public void bind() { string sqlstr = "select * from tb_StuResult"; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); myda.Fill(myds, "tb_StuResult"); DataView view = myds.Tables["tb_StuResult"].DefaultView; string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"]; view.Sort = sort; GridView1.DataSource = view; GridView1.DataBind(); GridView1.ShowFooter = false; } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowIndex >= 0)//判断当前索引值是否大于等于0 { sum += Convert.ToInt32(e.Row.Cells[4].Text);//索引从0开始查找显示学生分数的列单元格 } else if (e.Row.RowType == DataControlRowType.Footer)//判断当前操作的是否是GridView脚注 { e.Row.Cells[1].Text = "总分为:"; e.Row.Cells[2].Text = sum.ToString();//计算总分数 e.Row.Cells[3].Text = "平均分为:"; e.Row.Cells[4].Text = ((int)(sum / GridView1.Rows.Count)).ToString();//计算平均分数 } } protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text != "") { GridView1.ShowFooter = true; string sqlstr = "select * from tb_StuResult where stuname='" + TextBox1.Text.ToString().Trim() + "'"; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); myda.Fill(myds, "tb_StuResult"); GridView1.DataSource = myds; GridView1.DataBind(); gvRender(); } else { Response.Write("<script>alert('请输入要查询的学生姓名')</script>"); } } protected void btnBack_Click(object sender, EventArgs e) { bind(); } private void gvRender() { if (GridView1.Rows.Count <= 1)//没有数据返回当前行 { return; } for (int i = 0; i < GridView1.Columns.Count; i++)//遍历列 { TableCell oldtc = GridView1.Rows[0].Cells[i];//指定列单无格 for (int j = 1; j < GridView1.Rows.Count; j++)//遍历行 { TableCell newtc = GridView1.Rows[j].Cells[i]; if (newtc.Text == oldtc.Text) { newtc.Visible = false; if (oldtc.RowSpan == 0)//如果合并时跨越的行数为0 { oldtc.RowSpan = 1;//第一次合并CodeGo.net/ } oldtc.RowSpan++;//如是不是第一次合并,递增一次跨越的行数 oldtc.VerticalAlign = VerticalAlign.Middle;//合并后的内容位置居中 } } }
zijiang001 2014-04-24
  • 打赏
  • 举报
回复
void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) { if (e.RowHandle == GridControl.AutoFilterRowHandle) { e.RepositoryItem = repositoryItemCheckedComboBoxEdit1; } } 只是这样要重写筛选规则
exception92 2014-04-16
  • 打赏
  • 举报
回复
NotNull 2014-04-14
  • 打赏
  • 举报
回复

8,834

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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