无法使用gridview

时间:2016-10-10 11:22:59

标签: sql-server vb.net

我刚刚加入了stackoverflow作为视觉工作室的相对新手用户,希望有人能够帮助回答我遇到的问题。

我确信这很简单,但目前我有一个Gridview,它绑定到我们的SQL Server中的表。

我遇到的问题是gridview,它是在内置向导的帮助下生成的。我的更新SQL语句是自定义的,非常简单:

UPDATE SMCsummove
SET SubmitQty = @Textbox1 * - 1, HasBeenEdited = 'Y'
WHERE (SMCPOinteger = @SMCPOinteger) AND (SMCproduct = @PartNo)

现在是新手,我不太确定我是否正确这样做,但是@ Textbox1是用户输入的值,作为更新表的新值,在他们点击了自动生成的“编辑”按钮之后。很简单,一旦他们点击了“更新”按钮,gridview就会恢复到SubmitQty列中的原始值。

如果有人能说出一些亮点或指出任何大规模的疏忽,那将是非常感激的!

1 个答案:

答案 0 :(得分:0)

需要从gridview中查看更多代码才能确定,但​​看起来回发正在发生,这会导致gridview再次绑定并重置。

我对此也很陌生,而且我发现对gridviews有用的是有这样的pageload事件:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {

            bindGridView();
        }

    }

然后有一个单独的绑定语句(这是我使用的语句:

private void bindGridView()
   {
            string connectionString = WebConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
            string selectSQL = String.Format("SQL Statement here");
            SqlConnection con = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand(selectSQL, con);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();

            adapter.Fill(ds, "Review");

            GridView1.DataSource = ds;
            GridView1.DataBind();

   }

您可能会发现在更新记录后还必须调用gridbind以使用更新的值重新填充gridview。