在gridview的所有值都进入表单的文本框之后,选择gridview单行 [英] select gridview single row after that all values of gridview come to textbox of form
本文介绍了在gridview的所有值都进入表单的文本框之后,选择gridview单行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在asp.net上工作,当我选择gridview一行时,我需要执行一项任务,然后所有值都以表格的形式进入相应的文本框,因此我需要编辑或删除,然后将其保存在DB中.
i m working to asp.net i need to perform one task when i m selecting gridview one row then all value come into respective textbox in form so i need to edit or delete then save it in DB.
推荐答案
请参阅以下代码,我在项目中使用了它:
Refer this code, I have used it in my project:
private void dgvTpTransferSearchResult_CellClick(object sender, DataGridViewCellEventArgs e)
{
txtName.Text = Convert.ToString(dgvTpTransferSearchResult.SelectedRows[0].Cells["TPTransferName"].Value);
txtAddress.Text = Convert.ToString(dgvTpTransferSearchResult.SelectedRows[0].Cells["Address"].Value);
txtTelephone.Text = Convert.ToString(dgvTpTransferSearchResult.SelectedRows[0].Cells["Telephone"].Value);
txtMobile.Text = Convert.ToString(dgvTpTransferSearchResult.SelectedRows[0].Cells["Mobile"].Value);
txtEmail.Text = Convert.ToString(dgvTpTransferSearchResult.SelectedRows[0].Cells["Email"].Value);
txtName.Enabled = txtAddress.Enabled = txtMobile.Enabled = txtTelephone.Enabled = txtEmail.Enabled = true;
}
希望对您有所帮助.
Hope it helps..!
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindData();
}
}
private void BindData()
{
string constr = @"Data Source=SQLEXPRESS2008;Initial Catalog=database_name;Integrated Security=True";
string query = "SELECT 1st_column,2nd_column,3rd_column FROM Table_Name";
SqlDataAdapter da = new SqlDataAdapter(query, constr);
DataTable table = new DataTable();
da.Fill(table);
GridView1.DataSource = table;
GridView1.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
BindData();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
e.Cancel = true;
GridView1.EditIndex = -1;
BindData();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex];
TextBox txt1st_column = (TextBox)row.FindControl("txt1st_column");
TextBox txt2nd_column = (TextBox)row.FindControl("txt2nd_column");
TextBox txt3rd_column = (TextBox)row.FindControl("txt3rd_column");
int a = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());
string b = txt2nd_column.Text;
string c = txt3rd_column.Text;
UpdateProduct(a, b,c);
}
private void UpdateProduct(int a, string b,string c)
{
try
{
string constr = @"Data Source=SQLEXPRESS2008;Initial Catalog=Database;Integrated Security=True";
string query = "UPDATE Table_Name SET 2nd_column = @b, 3rd_column = @c WHERE 1st_column = @a";
SqlConnection con = new SqlConnection(constr);
SqlCommand com = new SqlCommand(query, con);
com.Parameters.Add("@a", SqlDbType.Int).Value = 1st_column;
com.Parameters.Add("@b", SqlDbType.NVarChar).Value = 2nd_column;
com.Parameters.Add("@c", SqlDbType.NVarChar).Value = 3rd_column;
con.Open();
com.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
BindData();
}
catch (Exception ex)
{
throw ex;
}
protected void btn_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
string constr = @"Data Source=SQLEXPRESS2008;Initial Catalog=Database;Integrated Security=True";
string query = "DELETE FROM Table_Name WHERE 1st_column=@a";
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Add("@a", SqlDbType.Int).Value = Convert.ToInt32(GridView1.Rows[e.RowIndex].Cells[1].Text)";
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
BindData();
}
catch(Exception ex)
{
throw ex;
}
}
这篇关于在gridview的所有值都进入表单的文本框之后,选择gridview单行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文