0

I want to update only selected row, but entire rows were updated instead, like this:

before

after

Afterwards, I have tried using @SMT_Assembly for update statement but it give me error "Must declare the scalar variable". I'm new to ASP.net ,please make any necessary modification on my source code and your helps are much appreciated.

Homepage.aspx:

<asp:GridView ID="GridView1"  DataKeyNames="SMT_Assembly" AutoGenerateColumns="false" runat="server" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="4" GridLines="Horizontal" Height="214px" Width="848px">
        <asp:HyperLinkField DataTextField="IQA_status" NavigateUrl="ConfirmIQAstatus.aspx"  HeaderText="IQA status"/>
        <asp:HyperLinkField DataTextField="Overall_Status" NavigateUrl="ConfirmIQAstatus.aspx"  HeaderText="Overall_Status"/>
    </Columns>
</asp:GridView>

Homepage.cs

public partial class Homepage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection sqlcon = new SqlConnection(@"Data Source=MYPENM0LSQLV01D\INST3;Initial Catalog=RTDF;Persist Security Info=True;User ID=*******; Password=*******");

        String query = "UPDATE RTDF.dbo.SMT_CompWeight SET IQA_status = 'Open' where SMT_Assembly = @SMT_Assembly ";


        SqlCommand retrieveCommand = new SqlCommand(query,sqlcon);
        SqlDataAdapter da = new SqlDataAdapter();
        da.SelectCommand = retrieveCommand;
        DataSet ds = new DataSet();
        da.Fill(ds);
        GridView1.DataSource = ds;
        GridView1.DataBind();
        sqlcon.Close();

    }


}
Ee Han
  • 13
  • 2

1 Answers1

0

Selecting the row event is fired when you make a click on the select link. If you need any particular item in that row you can easily select it using the cells property. In the Gridview, double-Click on the SelectedIndexChanged Event and write the following code:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)  
{  
TextBoxUserID.Text = GridView1.SelectedRow.Cells[1].Text;  
TextBoxUserName.Text = GridView1.SelectedRow.Cells[2].Text;  
}  

Source: https://www.c-sharpcorner.com/UploadFile/rohatash/how-to-get-the-selected-row-in-gridview-using-Asp-Net/

EDIT:

and I think for your grid you should add AutoGenerateSelectButton="True" and if that doesn't work, try: OnSelectedIndexChanged="function" or onitemcommand="function"

it seems very similar to Telerik:RadGrid that I'm familiar with.

FllnAngl
  • 556
  • 1
  • 5
  • 30