you know how you are able to Edit a record on a GridView by clicking Edit button. I have programmed my code in such a way that when clicks Edit button on GridView, a new window pops up with all the details of the record given in respective fields.
I also have search-feature in my program. That when a user clicks search button after entering some referenced information in the given fields on search page, the desired record or records (if more than 1) show up at the bottom of the search page in a GridView list. Ofcourse with Edit button option in case user wants to Edit the search-record.
could you please help me in guiding how to edit a searched record in a gridview because when when I click Edit to change searched-record,my program opens the first record from the list of all records in the database table (and doesn't open the record that I clicked on to EDIT) in a new window.
My code for edit row record is:
<pre lang="c#">
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
lblSet.Text = GridView1.Rows[e.NewEditIndex].Cells[1].Text;
MultiView1.SetActiveView(vRecord);
btnInsert.Visible = false;
using (SqlConnection con = new SqlConnection("Data Source=MEHDI-PC\\SQLEXPRESS;Initial Catalog=PIMS;Integrated Security=True"))
{
using (SqlCommand cmd = new SqlCommand())
{
String sql = "select [DocumentsID],[Ref],[Subject],[Src],[Dst],[Medium],[Date_Printed],[Date_Received],[Document_Type],[Action_Required],[Due_Date],[Actual_Date],[Content],[Tag],[Issue_No],[Attachment],[Notes],[Assigned_To],[Reply_Ref],[Priority],[Status],[Response] from dbo.Documents where [DocumentsId]=N'" + GridView1.Rows[e.NewEditIndex].Cells[1].Text + "'";
cmd.Connection = con;
cmd.CommandText = sql;
con.Open();
DataSet ds = new DataSet();
using (SqlDataAdapter adp = new SqlDataAdapter(cmd))
{
adp.Fill(ds);
}
this.txtRef.Text = ds.Tables[0].Rows[0][1].ToString();
this.txtSubject.Text = ds.Tables[0].Rows[0][2].ToString();
this.ddlSource.Text = ds.Tables[0].Rows[0][3].ToString();
this.ddlDestination.Text = ds.Tables[0].Rows[0][4].ToString();
this.ddlMedium.Text = ds.Tables[0].Rows[0][5].ToString();
this.txtDatePrinted.Text = ds.Tables[0].Rows[0][6].ToString();
this.txtDateReceived.Text = ds.Tables[0].Rows[0][7].ToString();
this.ddlDocumentType.Text = ds.Tables[0].Rows[0][8].ToString();
this.cbxAction.Checked = ds.Tables[0].Rows[0][9].Equals(cbxAction.Checked);
this.txtDueDate.Text = ds.Tables[0].Rows[0][10].ToString();
this.txtActualDate.Text = ds.Tables[0].Rows[0][11].ToString();
this.txtContent.Text = ds.Tables[0].Rows[0][12].ToString();
this.txtTag.Text = ds.Tables[0].Rows[0][13].ToString();
this.txtIssue.Text = ds.Tables[0].Rows[0][14].ToString();
this.txtAttachment.Text = ds.Tables[0].Rows[0][15].ToString();
this.txtNotes.Text = ds.Tables[0].Rows[0][16].ToString();
this.ddlAssignedTo.Text = ds.Tables[0].Rows[0][17].ToString();
this.txtReplyRef.Text = ds.Tables[0].Rows[0][18].ToString();
this.ddlPriority.Text = ds.Tables[0].Rows[0][19].ToString();
this.ddlStatus.Text = ds.Tables[0].Rows[0][20].ToString();
this.ddlResponse.Text = ds.Tables[0].Rows[0][21].ToString();
if (con != null)
{
con.Close();
}
Code for Search Function is:
<pre lang="c#">
protected void Search_Click(object sender, EventArgs e)
{
String sql = "select * from PIMS.dbo.Documents";
bool flag = false;
if (!txtRef0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Ref =N'" + txtRef0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Ref =N'" + txtRef0.Text + "'";
}
}
if (!ddlDst.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Dst =N'" + ddlDst.Text + "'";
flag = true;
}
else
{
sql = sql + " and Dst =N'" + ddlDst.Text + "'";
}
}
if (!ddlSrc.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Src =N'" + ddlSrc.Text + "'";
flag = true;
}
else
{
sql = sql + " and Src =N'" + ddlSrc.Text + "'";
}
}
if (!txtSubject0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Subject =N'" + txtSubject0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Subject =N'" + txtSubject0.Text + "'";
}
}
if (!ddlMedium0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Medium =N'" + ddlMedium0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Medium =N'" + ddlMedium0.Text + "'";
}
}
if (!ddlDocumentType0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Document_Type =N'" + ddlDocumentType0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Document_Type =N'" + ddlDocumentType0.Text + "'";
}
}
if (!txtContent0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Content LIKE N'%" + txtContent0.Text + "%'";
flag = true;
}
else
{
sql = sql + " and Content LIKE N'%" + txtContent0.Text + "%'";
}
}
if (!txtTag0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Tag = N'" + txtTag0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Tag =N'%" + txtTag0.Text + "'";
}
}
if (!txtIssue0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Issue_No= N'" + txtIssue0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Issue_No LIKE N'%" + txtIssue0.Text + "'";
}
}
if (!txtNotes0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Notes LIKE N'%" + txtNotes0.Text + "%'";
flag = true;
}
else
{
sql = sql + " and Notes LIKE N'%" + txtNotes0.Text + "%'";
}
}
if (!ddlAssignedTo0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Assigned_To = N'" + ddlAssignedTo0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Assigned_To = N'" + ddlAssignedTo0.Text + "'";
}
}
if (!ddlPriority0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Priority = N'" + ddlPriority0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Priority = N'" + ddlPriority0.Text + "'";
}
}
if (!ddlStatus0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Status = N'" + ddlStatus0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Status = N'" + ddlStatus0.Text + "'";
}
}
if (!ddlResponse0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Response = N'" + ddlResponse0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Response = N'" + ddlResponse0.Text + "'";
}
}
if (!txtReplyRef0.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Reply_Ref = N'" + txtReplyRef0.Text + "'";
flag = true;
}
else
{
sql = sql + " and Reply_Ref = N'" + txtReplyRef0.Text + "'";
}
}
if (!txtDatePrintedF.Text.Equals("") && !txtDatePrintedT.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Date_Printed >=N'" + DateTime.ParseExact(txtDatePrintedF.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
flag = true;
}
else
{
sql = sql + " and Date_Printed <=N'" + DateTime.ParseExact(txtDatePrintedT.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
}
}
if (!txtDateReceivedF.Text.Equals("") && !txtDateReceivedT.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Date_Received >=N'" + DateTime.ParseExact(txtDateReceivedF.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
flag = true;
}
else
{
sql = sql + " and Date_Received <=N'" + DateTime.ParseExact(txtDateReceivedT.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
}
}
if (!txtDueDateF.Text.Equals("") && !txtDueDateT.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Due_Date >=N'" + DateTime.ParseExact(txtDatePrintedF.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
flag = true;
}
else
{
sql = sql + " and Due_Date <=N'" + DateTime.ParseExact(txtDatePrintedT.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
}
}
if (!txtActualDateF.Text.Equals("") && !txtActualDateT.Text.Equals(""))
{
if (flag == false)
{
sql = sql + " where Actual_Date >=N'" + DateTime.ParseExact(txtDatePrintedF.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
flag = true;
}
else
{
sql = sql + " and Actual_Date <=N'" + DateTime.ParseExact(txtDatePrintedT.Text, "G", CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd") + "'";
}
}
txtSQL.Text = sql;
using (SqlConnection con = new SqlConnection("Data Source=MEHDI-PC\\SQLEXPRESS;Initial Catalog=PIMS;Integrated Security=True"))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandText = sql+";";
con.Open();
DataSet ds = new DataSet();
using (SqlDataAdapter adp = new SqlDataAdapter(cmd))
{
adp.Fill(ds);
} this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
}
if (con.State == ConnectionState.Open)
{
con.Close();
}
txtSQL.Visible = false;
MultiView1.SetActiveView(vGrid);
}
}
Help please.