[編集] ボタンをクリックして、GridView のレコードを編集する方法を知っています。GridView の [編集] ボタンをクリックすると、新しいウィンドウがポップアップし、それぞれのフィールドに指定されたレコードのすべての詳細が表示されるように、コードをプログラムしました。
私のプログラムには検索機能もあります。ユーザーが検索ページの特定のフィールドに参照情報を入力した後に検索ボタンをクリックすると、目的のレコード (1 つまたは複数) が検索ページの下部に GridView リストに表示されます。もちろん、ユーザーが検索レコードを編集したい場合は、[編集] ボタン オプションを使用します。
グリッドビューで検索されたレコードを編集する方法を教えてください編集するためにクリックしたレコード) が新しいウィンドウに表示されます。
行レコードを編集するための私のコードは次のとおりです。
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
//BindGridView();
lblSet.Text = GridView1.Rows[e.NewEditIndex].Cells[1].Text;
MultiView1.SetActiveView(vRecord);
btnInsert.Visible = false;
//this.lblMedium.Text = GridView1.Rows[e.NewEditIndex].Cells[1].Text;
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();
//SqlDataAdapter da = new SqlDataAdapter(sql,con);
//DataTable dt = new DataTable();
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();
}
検索機能のコードは次のとおりです。
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+";";
//cmd.CommandType = CommandType.StoredProcedure;
con.Open();
//dataset object to get all select statement results
DataSet ds = new DataSet();
//sql dataadoptor to fill dataset
using (SqlDataAdapter adp = new SqlDataAdapter(cmd))
{
//here all select statements are fill in dataset object
adp.Fill(ds);
} this.GridView1.DataSource = ds.Tables[0]; // first select statement result
this.GridView1.DataBind();
}
if (con.State == ConnectionState.Open)
{
con.Close();
}
txtSQL.Visible = false;
MultiView1.SetActiveView(vGrid);
}
}