DataGrid和DataList动态更新问题 现在我在页面上加了DataGrid和DataList,把数据库中一个表分别跟他们绑定了,那现在我新插入一个数据后,DataGrid和DataList就都没数据了,我怎么把他们最新的数据显示出来呢?希望高手们给出语句,代码,最好是实例,要我能看懂的那种,呵呵 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/jxf_yx/archive/2004/06/23/23195.aspx一个很好的例子 <%# DataBinder.Eval(Container.DataItem,"Name")%>这一句什么意思,高手能解释一下吗?16:00准时结帖 DataBinder.Eval(Container.DataItem,"Name")%就是将你定义的某个控件绑定某个要显示的数据表的NAME字段 再重新绑定?比如我的程序中用一个按纽把一些数据插入到数据库,那重新绑定是不是在按纽CLICK事件中写入? 例子:private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { this.DataGrid1 .EditItemIndex =e.Item .ItemIndex ; bianlibiao(); } private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { this.DataGrid1 .EditItemIndex =-1; bianlibiao(); }private void bianlibiao() { SqlConnection sqlconn=new SqlConnection ("Server=SERVER;Database=health;User ID=sa;Password=sa;Trusted_Connection=False"); sqlconn.Open (); string strcomm="select * from TL_H_Regionlist"; SqlCommand sqlcomm=new SqlCommand (strcomm,sqlconn); SqlDataReader dr=sqlcomm.ExecuteReader (); this.DataGrid1 .DataSource =dr; this.DataGrid1 .DataBind (); dr.Close (); sqlconn.Close (); } 对了,新来的,就是你说那个意思,在click里面再绑定一下就好了 我绑定了,在CLICK中绑定了,可还是不行,一按按纽,数据库中有新数据了,可是datalist和datagrid都没数据了,我到处绑定都没用,呵呵,到底怎么回事啊?急死了 就别用Ispostback了或者在每次事件后加上绑定方法 第一,是不是根本就绑定不上,绑定的是不是有错误第二,看看你是不是把绑定加在ISpostback中了,如果是,就拿出来第三,查看是不是click事件根本就没有调用行应的方法 private void dgdbind() { // 在此处放置用户代码以初始化页面 string conn= @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\data\northwind.mdb"; // 创建一个新的OleDbConnection OleDbConnection myConnection = new OleDbConnection(conn) ; //myConnection.ConnectionString = conn; myConnection.Open(); // 创建一个 OleDbDataAdapter OleDbDataAdapter da = new OleDbDataAdapter( "Select * from 客户" , myConnection) ; // 创建一个新的 dataset DataSet ds = new DataSet ( ) ; da.Fill(ds,"客户" ) ;// 把da中的数据集帮定到ds中 dgdMyGrid.DataSource=ds; dgdMyGrid.DataBind(); myConnection.Close ( ) ; }private void dgdMyGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { string conn= @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\data\northwind.mdb"; // 创建一个新的OleDbConnection string str="update 客户 set 城市=@city where 客户ID=@keys"; OleDbConnection myCon = new OleDbConnection(conn) ; OleDbCommand cmd=new OleDbCommand(str,myCon); cmd.Parameters.Add(new OleDbParameter("@city",OleDbType.VarChar,10)); cmd.Parameters["@city"].Value=((TextBox)e.Item.Cells[7].Controls[0]).Text; cmd.Parameters.Add(new OleDbParameter("@keys",OleDbType.VarChar,5)); cmd.Parameters["@keys"].Value=dgdMyGrid.DataKeys[(int) e.Item.ItemIndex].ToString(); cmd.Connection.Open(); cmd.ExecuteNonQuery(); cmd.Connection.Close(); dgdMyGrid.EditItemIndex=-1; this.dgdbind(); } 你更新一下呢,更新后再绑定,比如daName=new System.Data.SqlClient.SqlDataAdapter("select * from Names",sqlConnection1);ds.Clear();daName.Fill(ds,"Names");nameTable=ds.Tables["Names"];nameDetails.DataBind(); linq to entity 联动删除 用Process类执行cmd.exe,bat文件里的命令有什么限制吗? asp.net中怎么接收POP3邮件(有现成的代码看看吗) 有没有Visual Studio 2005 中文正式版? 请问如果数据量比较大,如何做分页才能提升速度? 请问如何让页面缓存超过5分钟? 这个权限应该上哪改? 帮我看看 一个dataset的update的问题,,急啊,,解出给分 EventArgs e做何解? 要设置一个按键,按一下加粗字体,再按一下消除加粗应该怎么做呢???? asp.net中datagrid的一个比较难的问题???
一个很好的例子
这一句什么意思,高手能解释一下吗?16:00准时结帖
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1 .EditItemIndex =e.Item .ItemIndex ;
bianlibiao(); } private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1 .EditItemIndex =-1;
bianlibiao();
}
private void bianlibiao()
{
SqlConnection sqlconn=new SqlConnection ("Server=SERVER;Database=health;User ID=sa;Password=sa;Trusted_Connection=False");
sqlconn.Open ();
string strcomm="select * from TL_H_Regionlist";
SqlCommand sqlcomm=new SqlCommand (strcomm,sqlconn);
SqlDataReader dr=sqlcomm.ExecuteReader ();
this.DataGrid1 .DataSource =dr;
this.DataGrid1 .DataBind ();
dr.Close ();
sqlconn.Close ();
}
或者在每次事件后加上绑定方法
第二,看看你是不是把绑定加在ISpostback中了,如果是,就拿出来
第三,查看是不是click事件根本就没有调用行应的方法
{
// 在此处放置用户代码以初始化页面
string conn= @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\data\northwind.mdb";
// 创建一个新的OleDbConnection
OleDbConnection myConnection = new OleDbConnection(conn) ;
//myConnection.ConnectionString = conn; myConnection.Open();
// 创建一个 OleDbDataAdapter
OleDbDataAdapter da = new OleDbDataAdapter( "Select * from 客户" , myConnection) ;
// 创建一个新的 dataset
DataSet ds = new DataSet ( ) ;
da.Fill(ds,"客户" ) ;// 把da中的数据集帮定到ds中
dgdMyGrid.DataSource=ds;
dgdMyGrid.DataBind();
myConnection.Close ( ) ;
}
private void dgdMyGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string conn= @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\data\northwind.mdb";
// 创建一个新的OleDbConnection
string str="update 客户 set 城市=@city where 客户ID=@keys";
OleDbConnection myCon = new OleDbConnection(conn) ;
OleDbCommand cmd=new OleDbCommand(str,myCon);
cmd.Parameters.Add(new OleDbParameter("@city",OleDbType.VarChar,10));
cmd.Parameters["@city"].Value=((TextBox)e.Item.Cells[7].Controls[0]).Text;
cmd.Parameters.Add(new OleDbParameter("@keys",OleDbType.VarChar,5));
cmd.Parameters["@keys"].Value=dgdMyGrid.DataKeys[(int) e.Item.ItemIndex].ToString();
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
dgdMyGrid.EditItemIndex=-1;
this.dgdbind();
}
daName=new System.Data.SqlClient.SqlDataAdapter("select * from Names",sqlConnection1);
ds.Clear();
daName.Fill(ds,"Names");
nameTable=ds.Tables["Names"];
nameDetails.DataBind();