linq 简单问题~!

dong8023dong8023 2014-07-28 02:43:48
var checkboxs = this.panel2.Controls.OfType<CheckBox>().ToList();
var list = checkboxs.Where(v => v.Checked).ToList().Select(v => v.Tag.ToString().Split(',')).ToList();
这是一个大panel2。里面有很多checkbox。然后得到选中的checkbox的tab的值。
现在在大pabel2里面自动生成很多小的panel。每一个panel里面有一个checkbox。同样想得到他们的tab的值,求改代码

我下面的list要转换成这样
System.String[][] str = list.ToArray();
...全文
127 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lll_2630826323 2014-07-29
  • 打赏
  • 举报
回复
Linq实现编辑删除数据操作 // 触发RowUpdating事件,以达到编辑的功能 protected void gvCategory_RowUpdating(object sender, GridViewUpdateEventArgs e) { //获取更新数据 TextBox tbName = (TextBox)gvCategory.Rows[e.RowIndex].FindControl("tbName"); DropDownList ddlStatus = (DropDownList)gvCategory.Rows[e.RowIndex].FindControl("ddlStatus"); //执行插入数据的操作 int DataKey = Int32.Parse(gvCategory.DataKeys[e.RowIndex].Value.ToString()); int result = am.EditCategory(DataKey, tbName.Text.Trim(), ddlStatus.SelectedValue.ToString()); if (result == 0) { ScriptManager.RegisterStartupScript(this, GetType(), "", "alert('已有此分类,请重新填写!');", true); } else if (result > 0) { gvCategory.EditIndex = -1; } else { return; } BindGV(); } //更新分类信息 public int EditCategory(int id, string Cname, string Cstatus) { //标识变量 int result = 1; var results = from pc in lqc.Photo_Category where pc.C_Status==Cstatus&&pc.C_Name==Cname select pc; //判断是否有相同分类 if (results.Count() > 0) { result = 0;//说明存在同名分类 } else { var results1 = from pc in lqc.Photo_Category where pc.ID==id select pc; results1.SingleOrDefault().C_Name = Cname; results1.SingleOrDefault().C_Status=Cstatus; //将修改信息添加到数据库中 lqc.SubmitChanges(); } return result; } //执行删除信息 protected void gvCategory_RowDeleting(object sender, GridViewDeleteEventArgs e) { int DataKey = Convert.ToInt32(gvCategory.DataKeys[e.RowIndex].Value.ToString()); //定义查询操作的SQL语句 string sqlstr = "select * from Photo where CategoryID=" + DataKey; DataSet ds = am.GetDataSet(sqlstr, "PhotoCategory"); if (ds.Tables["PhotoCategory"].Rows.Count > 0) { ScriptManager.RegisterStartupScript(this, GetType(), "", "alert('此相册中由于存在照片不可删除!');", true); } else { Photo_Category pc = lqc.Photo_Category.SingleOrDefault(itm => itm.ID == DataKey); lqc.Photo_Category.DeleteOnSubmit(pc);//执行删除操作 lqc.SubmitChanges();//提交删除操作 } BindGV(); }
於黾 2014-07-28
  • 打赏
  • 举报
回复
每一个panel里面有一个checkbox 这样设计有什么意义么?只有一个checkbox,还用放到panel里?这不自己给自己找事么
by_封爱 版主 2014-07-28
  • 打赏
  • 举报
回复
你只能先找到所有的pannel 然后在调用你上面的方法了.. 比如

var panelList= this.panel1.Controls.OfType<Pannel>().ToList();
foreach var item in pannellist
{
 item.Where(v => v.Checked).ToList().Select(v => v.Tag.ToString().Split(',')).ToList();
 }
然后累加.. 随便写的可能有错误

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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