各位大神:
小弟最近用gridview控件做一个东西,涉及到数据的修改、增加。非常奇怪:修改完数据后gridview没有更新(经查询数据库内容此时已经更新),添加数据却可以在gridview看到更新,修改和添加后都是调用的click事件重新绑定gridview
一、 在itemtemplate里面添加按钮:修改、删除
<asp:TemplateField HeaderText="编辑">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="修改" OnClientClick='<%# "update("+Eval("id")+")" %>'/>
<asp:HiddenField id="hidID" runat="server" Value='<%# Eval("id") %>'></asp:HiddenField>
</ItemTemplate>
二、在gridview控件外增加了一个:添加记录按钮
<input id="btnAdd" type="button" onclick="Insert();" runat="server" value="添加数据" />修改调用js: <script type="text/jscript"> //修改:
function update(id) {
window.showModalDialog("AddList.aspx?id=" + id +"&ran=" + Math.random(), "", "dialogWidth:700px; dialogHeight:320px; dialogLeft:300px; dialogTop:100px; status:no; directories:yes;scrollbars:no;Resizable=no;");
var obj = document.getElementById("btnBind");
obj.click();
}
添加调用js:
//添加:
function Insert() {
window.showModalDialog("Add.aspx", "dialogWidth:600px; dialogHeight:200px; dialogLeft:300px; dialogTop:100px; status:no; directories:yes;scrollbars:no;Resizable=no;");
var obj = document.getElementById("btnBind");
obj.click();
}添加和修改完成后都调用了button的click事件重新执行gridview的绑定:
protected void btnBind_Click(object sender, EventArgs e)
{ this.bind();
}bind()方法:public void bind()
{ DBClass oraDb = null; try
{
//string connStr = System.Configuration.ConfigurationManager.AppSettings["jning_connStr"];//连接字符串
oraDb = new DBClass(conn); string sqlStr = "";
sqlStr = "select * from lnproduct_vs order by id";
DataSet ds = oraDb.GetDataSet(sqlStr); this.GridView1.DataSource = ds; this.GridView1.DataKeyNames = new string[] { "id" };
this.GridView1.DataBind();
GridView1.Columns[0].Visible = false;
oraDb.clear();//关闭连接;
}
catch (Exception ee)
{
if (oraDb != null && oraDb.Connection.State == System.Data.ConnectionState.Open)
{
oraDb.clear();//关闭连接;
}-----------现在的疑问是:添加完后gridvew正常显示,但修改完后gridveiw仍显示修改之前的数据,请大神帮忙看看,感觉不尽!
如有遇到相似问题的大神请QQ我:251207502,重谢。
小弟最近用gridview控件做一个东西,涉及到数据的修改、增加。非常奇怪:修改完数据后gridview没有更新(经查询数据库内容此时已经更新),添加数据却可以在gridview看到更新,修改和添加后都是调用的click事件重新绑定gridview
一、 在itemtemplate里面添加按钮:修改、删除
<asp:TemplateField HeaderText="编辑">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="修改" OnClientClick='<%# "update("+Eval("id")+")" %>'/>
<asp:HiddenField id="hidID" runat="server" Value='<%# Eval("id") %>'></asp:HiddenField>
</ItemTemplate>
二、在gridview控件外增加了一个:添加记录按钮
<input id="btnAdd" type="button" onclick="Insert();" runat="server" value="添加数据" />修改调用js: <script type="text/jscript"> //修改:
function update(id) {
window.showModalDialog("AddList.aspx?id=" + id +"&ran=" + Math.random(), "", "dialogWidth:700px; dialogHeight:320px; dialogLeft:300px; dialogTop:100px; status:no; directories:yes;scrollbars:no;Resizable=no;");
var obj = document.getElementById("btnBind");
obj.click();
}
添加调用js:
//添加:
function Insert() {
window.showModalDialog("Add.aspx", "dialogWidth:600px; dialogHeight:200px; dialogLeft:300px; dialogTop:100px; status:no; directories:yes;scrollbars:no;Resizable=no;");
var obj = document.getElementById("btnBind");
obj.click();
}添加和修改完成后都调用了button的click事件重新执行gridview的绑定:
protected void btnBind_Click(object sender, EventArgs e)
{ this.bind();
}bind()方法:public void bind()
{ DBClass oraDb = null; try
{
//string connStr = System.Configuration.ConfigurationManager.AppSettings["jning_connStr"];//连接字符串
oraDb = new DBClass(conn); string sqlStr = "";
sqlStr = "select * from lnproduct_vs order by id";
DataSet ds = oraDb.GetDataSet(sqlStr); this.GridView1.DataSource = ds; this.GridView1.DataKeyNames = new string[] { "id" };
this.GridView1.DataBind();
GridView1.Columns[0].Visible = false;
oraDb.clear();//关闭连接;
}
catch (Exception ee)
{
if (oraDb != null && oraDb.Connection.State == System.Data.ConnectionState.Open)
{
oraDb.clear();//关闭连接;
}-----------现在的疑问是:添加完后gridvew正常显示,但修改完后gridveiw仍显示修改之前的数据,请大神帮忙看看,感觉不尽!
如有遇到相似问题的大神请QQ我:251207502,重谢。
this.GridView1.DataSource = ds;
最好先清空下再绑定。
{
if (!IsPostBack)
{
LoadData();
}
}
这样试试