日期:2014-05-18  浏览次数:20467 次

GridView编辑数据库时简单又困惑的问题
我用VWD下做个小项目,情况如下
1.在窗体上放置了一个GridView1,通过AccessDataSource1连接到Access数据库,还有一个bottun1
2.在AccessDataSource1中设置了默认的SELECT语句,“SELECT   *   FROM   MyTable”
3.button1的点击事件如下:
Protected   Sub   Button1_Click(ByVal   sender   As   Object,   ByVal   e   As   System.EventArgs)

                GridView1.AutoGenerateEditButton   =   True
             
                AccessDataSource1.SelectParameters.Clear()
               
                AccessDataSource1.SelectCommand   =   "SELECT     *   FROM   MyTable   WHERE   sex= '男 ' "
               
                                                       
                GridView1.DataBind()
               
        End   Sub
现在的问题是,当我点击button1后,gridview中确实显示了所有男员工的资料,并且在记录开头显示“编辑”按钮,但是当点击任何一行记录的开头的“编辑”按钮后,GridView中显示的却是所有人的资料,而非我想编辑的“男”性员工资料,似乎回到了AccessDataSource中默认的SELECT语句进行编辑了,有什么办法只对我选择出来的结果进行编辑吗?

------解决方案--------------------
你应该是在页面加载时有设置了gridView的数据源,在!PageISPostBack里绑定。
------解决方案--------------------
PageISPostBack是什么?
-----------------------
....................


protected void Page_Load(object sender, EventArgs e)
{
if(ISPostBack)
{
//绑定内容
}
}
------解决方案--------------------
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//绑定内容
}
}
楼上的要严谨
------解决方案--------------------
你的分数可以给了吗?
你的vb当然不能用C#语法
现在你需要修改成:
If Not IsPostBack Then
'绑定数据
End If