问题描述
最近正在写一个程序,要求在gridview1上放置checkbox。用户可以点击checkbox来获取gridview1上的某几条记录。并在gridview2上把选择的记录显示出来。。。
解决方案
解决方案二:
用javascript把你选中的数据插入到gridview转换成的table中
解决方案三:
想问什么?搞了集合,存放选中的,然后绑到GridView2上..
解决方案四:
楼上能否说的详细点。最好是能给点代码。。谢谢
解决方案五:
我试了把checkbox选中的数据中ID取出。然后再绑定。但是gridview2只显示最后一条数据。。
解决方案六:
For循环取CheckBox选中的行
解决方案七:
引用5楼goldxinx的回复:
For循环取CheckBox选中的行
解决方案八:
楼主,此时此刻,我也正在考虑怎么解决这个问题,关键就是如何用checkbox获取选中行的ID吧,我写了这个个循环for(inti=0;i<this.DataGrid1.Items.Count;i++){System.Web.UI.WebControls.CheckBoxcb=(CheckBox)this.DataGrid1.FindControl("CheckBox1");if(cb.Checked){}}可是提示“cb.Checked未将对象引用设置到对象实例”,也就是说我未获取到cb了.........在线关注中,希望大家能给点儿意见,楼主做出来了,给我借鉴借鉴,谢谢
解决方案九:
可以這樣:在chechbox事件中寫用foreach(in)把gridview行全部執行就可以。比如:protectedvoidCheckBox1_CheckedChanged1(objectsender,EventArgse){foreach(GridViewRowGRinGridView1.Rows){CheckBoxch=(CheckBox)GR.Cells[2].FindControl("itemcheck");//如果沒有選中就選中他if(!ch.Checked){ch.Checked=true;}else{ch.Checked=false;}}
解决方案十:
StringBuildersb=newStringBuilder();for(inti=0;i<GridView1.Rows.Count;i++){if(CheckBox1.Checked=True){sb.Append(GridView1.Rows[i].DataKeys.ToString());sb.Append("<br>");}}
解决方案十一:
checkbox取得的ID值我取出了。。现在关键问题就是怎么把取出的值插入到gridview中。有没有高人帮我看看这段代码哪里需要改。才能插入n条记录在gridview中。protectedvoidButton1_Click(objectsender,EventArgse){inta=this.GridView1.Rows.Count;Stringnewsid="";for(inti=0;i<a;i++){CheckBoxchk=(CheckBox)this.GridView1.Rows[i].FindControl("CheckBox1");if(chk.Checked){newsid=this.GridView1.DataKeys[i].Value.ToString();}}stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Server.MapPath("../TTO.mdb");OleDbConnectionmyConn=newOleDbConnection(strCon);stringstrCom="select*fromttonliewhereid="+newsid;myConn.Open();OleDbDataAdaptermyad=newOleDbDataAdapter(strCom,strCon);DataSetds=newDataSet();myad.Fill(ds);DataTabledt=newDataTable("mydt");dt.Columns.Add(newDataColumn("name",typeof(string)));dt.Columns.Add(newDataColumn("sex",typeof(string)));dt.Columns.Add(newDataColumn("area",typeof(string)));dt.Columns.Add(newDataColumn("adsl",typeof(string)));dt.Columns.Add(newDataColumn("quality",typeof(string)));dt.Columns.Add(newDataColumn("street",typeof(string)));dt.Columns.Add(newDataColumn("riqi",typeof(string)));DataRowdr=dt.NewRow();dr["name"]=ds.Tables[0].Rows[0][1].ToString();dr["sex"]=ds.Tables[0].Rows[0][2].ToString();dr["area"]=ds.Tables[0].Rows[0][3].ToString();dr["adsl"]=ds.Tables[0].Rows[0][4].ToString();dr["quality"]=ds.Tables[0].Rows[0][5].ToString();dr["street"]=ds.Tables[0].Rows[0][6].ToString();dr["riqi"]=ds.Tables[0].Rows[0][7].ToString();dt.Rows.Add(dr);ds.Tables.Add(dt);GridView2.DataSource=ds;GridView2.DataBind();}
解决方案十二:
补充::用上边的代码只能显示一条记录。。呢
解决方案十三:
引用6楼panw520的回复:
引用5楼goldxinx的回复:For循环取CheckBox选中的行
解决方案十四:
我不是取出了吗??现在是怎么查出来在绑定到gridview上。
解决方案十五:
新增一个按钮然后在按钮事件里面把选中的记录做一个数据源绑定第二个gridview就可以了
解决方案:
都沉下去了。。哪位高人帮我解决下阿!!!
解决方案:
我这儿有个笨方法:for(inti=0;i<this.DataGrid1.Items.Count;i++){System.Web.UI.WebControls.CheckBoxcb=(System.Web.UI.WebControls.CheckBox)this.DataGrid1.Items[i].Cells[1].FindControl("CheckBox1");stringaccountcode=this.DataGrid1.DataKeys[i].ToString();if(cb.Checked){cb.Checked=true;intj=mam.UP_tbtrueaccount_Delete(accountcode);if(j!=0){mb.Show(this.Page,"数据成功删除!");this.DataGrid1.DataBind();}else{mb.Show(this.Page,"数据删除失败!");}}else{cb.Checked=false;mb.Show(this.Page,"请选择要删除的记录!");}}accountcode是我取出的主键,笨方法就是用这个主键再从数据库里取出该条数据......