【问题标题】:Get a hidden grid view column, cell value on a selected row c#获取隐藏的网格视图列,选定行上的单元格值c#
【发布时间】:2023-03-17 17:55:01
【问题描述】:

我的网格视图中有一个客户 ID 列,我希望将其隐藏或不可编辑。

当 gridview 的行被更新时,我想检查一个字段的值是否正在更改为某个值,以便我可以在我的数据库中添加时间戳。

这是我的函数的副本。

 protected void gridStock_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        String anotherUpdatedItem = e.NewValues[8].ToString();
        string oldValue = e.OldValues[7].ToString();

        string idValue = gridStock.DataKeys[0].Values["StockID"].ToString();

        anotherUpdatedItem.ToString();

        if (anotherUpdatedItem == "True" && oldValue != "True")
        {
            string date = DateTime.Today.ToString();

            String str = "UPDATE Stock SET [DateSold]=@todaysDate WHERE StockID=@id";

            SqlCommand xp = new SqlCommand(str, vid);
            xp.Parameters.Add("@todaysDate", SqlDbType.Date).Value = date;
            xp.Parameters.Add("@id", SqlDbType.Int).Value = idValue;

            vid.Open();

            xp.ExecuteNonQuery();
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = xp;

            DataSet ds = new DataSet();
            da.Fill(ds, "ClientID");

            vid.Close();
        }
    }

如您所见,我已向 gridview 添加了一个数据键,这也有效,但它只检索索引 0 点。我需要获取已单击的行的 stockid 值,以便能够通过我的 sql 查询传递它。

有人可以帮忙吗?

【问题讨论】:

    标签: c# sql asp.net gridview


    【解决方案1】:

    您应该使用当前行的索引来获取 Datakey 值。为此,您可以使用e.RowIndex。这是您需要的:

    string idValue = gridStock.DataKeys[e.RowIndex].Values["StockID"].ToString();
    

    【讨论】:

      【解决方案2】:

      要使此方法起作用,您需要使用所选行的索引。

      string idValue = gridStock.DataKeys[gridStock.SelectedIndex].Values["StockID"].ToString();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 1970-01-01
        • 2016-11-01
        • 1970-01-01
        相关资源
        最近更新 更多