问题描述
单击gridview控件外部的一个按钮,怎么获取gridview中的一列数据?获得的数据怎么插入到另一个表中,比如说那个表名是a
解决方案
解决方案二:
FindControl获取RowIndex,再cells[i].text
解决方案三:
你根据ID查询出来值,然后再把值添加到a表这样就可以了吧!
解决方案四:
DataTabledt=newDataTable();dt.Columns.Add("col1");foreach(GridViewRowgvrinGridView1.Rows){DataRowdr=dt.NewRow();dr["col1"]=gvr.Cells[列].Text;}dt.AcceptChanges();
解决方案五:
代码1:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;///<summary>///Util的摘要说明///</summary>publicclassDALUtil{publicstaticSqlConnectionGetConnection(){stringsqlconn="server=.;database=pubs;uid=sa;pwd=";try{SqlConnectionconnection=newSqlConnection(sqlconn);connection.Open();returnconnection;}catch(SqlExceptionsqlException){throwsqlException;}}}
代码2usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;usingMicrosoft.ApplicationBlocks.Data;publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){bind();}}privatevoidbind(){stringSql="select*fromstu";DataSetds=newDataSet();using(SqlConnectionconn=DALUtil.GetConnection()){ds=SqlHelper.ExecuteDataset(conn,CommandType.Text,Sql);}this.GridView1.DataSource=ds.Tables[0].DefaultView;this.GridView1.DataBind();}publicstaticDataSetGetstuInfoById(intid){stringSql="select*fromstuwhereid=@id";SqlParameter[]arParms=newSqlParameter[1];arParms[0]=newSqlParameter("@id",SqlDbType.Int);arParms[0].Value=id;DataSetds=newDataSet();using(SqlConnectionconn=DALUtil.GetConnection()){ds=SqlHelper.ExecuteDataset(conn,CommandType.Text,Sql,arParms);returnds;}}protectedvoidGridView1_RowCommand(objectsender,GridViewCommandEventArgse){if(e.CommandName=="insert"){intindex=Convert.ToInt32(e.CommandArgument);DataKeykey=this.GridView1.DataKeys[index];intid=Convert.ToInt32(key.Value.ToString());DataSetds=newDataSet();ds=GetstuInfoById(id);strings=ds.Tables[0].Rows[0]["id"].ToString();stringname=ds.Tables[0].Rows[0]["name"].ToString();stringold=ds.Tables[0].Rows[0]["old"].ToString();stringc=ds.Tables[0].Rows[0]["class"].ToString();stringSql="insertintoStudent(id,name,old,class)values('"+s+"','"+name+"','"+old+"','"+c+"')";intRow=0;using(SqlConnectionconn=DALUtil.GetConnection()){SqlCommandcomm=newSqlCommand(Sql,conn);Row=comm.ExecuteNonQuery();}if(Row>0){Label1.Text="插入成功";}}}}
解决方案六:
这样就能实现你说的功能
解决方案七:
引用3楼teerhu的回复:
DataTabledt=newDataTable();dt.Columns.Add("col1");foreach(GridViewRowgvrinGridView1.Rows){DataRowdr=dt.NewRow();dr["col1"]=gvr.Cells[列].Text;}dt.AcceptChanges();
我想要插入的是已经存在的表,不是建个新表dt!怎么做?
解决方案八:
还没弄好呀,上面说得很清楚了
解决方案九:
没有啊,上面两个大哥的代码应该用哪个?我的gridview不是用代码绑定的?