本文介绍了当我从gridview中选择数据并在我的表单中进行更改之后...我可以在gridview中更新那个chage数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 使用系统; 使用 System.Collections; 使用 System.Configuration; 使用 System.Data; 使用 System.Linq; 使用 System.Web; 使用 System.Web.Security; 使用 System.Web.UI; 使用 System.Web.UI.HtmlControls; 使用 System.Web.UI.WebControls; 使用 System.Web.UI.WebControls.WebParts; 使用 System.Xml.Linq; 使用 System.Data.SqlClient; 使用 System.Collections.Generic; public partial class Default2:System.Web.UI.Page { general gen = new general(); 列表< sqlparameter> plist中; 受保护 void Page_Load(对象发​​件人,EventArgs e) { 如果(!IsPostBack) { fillCustomerName() ; fillItem(); DataTable dtMax = gen.GetDataTable( SPSelectDCNMForMaxRecord); if (dtMax!= null && dtMax.Rows。计数> 0 && dtMax.Rows [ 0 ] [ maxRecord]!= null ) { string strMaxNo =(Convert.ToInt32(dtMax.Rows [ 0 ] [ maxRecord]。ToString()) + 1 )。ToString(); lblDCNO.Text = strMaxNo.PadLeft( 10 ,' 0' ); } else { lblDCNO.Text = 0000000001; } txtDate.Text = DateTime.Today.Date.ToString( DD / MM / YYYY); btnUpdate.Enabled = false ; btnCancel.Enabled = false ; } } #region填写客户名称下拉列表 private void fillCustomerName() { DataTable dtCustomer = gen。 GetDataTable( SPSelectCUST); ddlstName.DataTextField = 名称; ddlstName.DataValueField = CUST_CD; ddlstName.DataSource = dtCustomer; ddlstName.DataBind(); } #endregion #region项目 private void fillItem()的填充下拉列表{ DataTable dtItem = gen.GetDataTable( SPselectITEM); ddlstItem.DataTextField = ST_DESC; ddlstItem.DataValueField = ST_CD; ddlstItem.DataSource = dtItem; ddlstItem.DataBind(); } #endregion #regionBind Gridview private void Bindgrid( int rowcount) { DataTable dt = new DataTable(); DataRow博士; dt.Columns.Add( new System.Data.DataColumn( SR_NO, typeof ( String ))); dt.Columns.Add( new System.Data.DataColumn( 项目, typeof ( String ))); dt.Columns.Add( new System.Data.DataColumn( 数量, typeof ( String ))); dt.Columns.Add( new System.Data.DataColumn( Rate, typeof ( String ))); dt.Columns.Add( new System.Data.DataColumn( 金额, typeof ( String ))); if (ViewState [ CurrentData]!= null ) { for ( int i = 0 ; i < rowcount + 1 ; i ++) { dt =(DataTable)ViewState [ CurrentData]; if (dt.Rows.Count > 0 ) { dr = dt.NewRow(); dr [ 0 ] = dt.Rows [ 0 ] [ 0 ]的ToString(); } } dr = dt.NewRow(); dr [ 0 ] = txtSrno.Text; dr [ 1 ] = ddlstItem.SelectedItem.Text.ToString(); dr [ 2 ] = txtQty.Text; dr [ 3 ] = txtRate.Text; dr [ 4 ] = txtAmount.Text; dt.Rows.Add(dr); } else { dr = dt.NewRow(); dr [ 0 ] = txtSrno.Text; dr [ 1 ] = ddlstItem.SelectedItem.Text.ToString(); dr [ 2 ] = txtQty.Text; dr [ 3 ] = txtRate.Text; dr [ 4 ] = txtAmount.Text; dt.Rows.Add(dr); } if (ViewState [ CurrentData]!= null ) { GridView1.DataSource =(DataTable)ViewState [ CurrentData]; GridView1.DataBind(); } else { GridView1.DataSource = dt; GridView1.DataBind(); } ViewState [ CurrentData] = dt; } #endregion #region在GridView中保存数据 protected void btnSave_Click( object sender,EventArgs e) { if (ViewState [ CurrentData]!= null ) { DataTable dt =(DataTable)ViewState [ CurrentData]; int count = dt.Rows.Count; Bindgrid(伯爵); } else { Bindgrid( 0 ); } txtSrno.Text = string .Empty; ddlstItem.SelectedIndex = -1; txtQty.Text = string .Empty; txtRate.Text = string .Empty; txtAmount.Text = string .Empty; } #endregion protected void txtChalan_No_TextChanged( object sender,EventArgs e ) { DataTable dtchk = gen.GetDataTable( SPChkChalan); if (dtchk.Rows.Count > 0 ) { lblMsg.Text = Chalan Number已经存在 ; } else { lblMsg.Text = Chalan Number Available; } } 受保护 void txtQty_TextChanged( object sender,EventArgs e) { txtAmount.Text = Convert.ToString((Convert.ToInt32(txtQty.Text.Trim()) )*(Convert.ToInt32(txtRate.Text.Trim()))); } 受保护 void txtRate_TextChanged( object sender,EventArgs e) { txtAmount.Text = Convert.ToString((Convert.ToInt32(txtQty.Text.Trim()))*(Convert.ToInt32(txtRate。 Text.Trim()))); } protected void GridView1_SelectedIndexChanged( object sender,EventArgs e) { DataTable dt =(DataTable)ViewState [ CURRENTDATA]; GridView1.DataSource = dt; string SR_NO = GridView1.SelectedDataKey.Value.ToString(); GridViewRow row = GridView1.SelectedRow; GridView1.EditIndex = GridView1.SelectedIndex; if (SR_NO!= 0 ) { if (dt.Rows.Count > 0 ) { txtSrno.Text = dt.Rows [GridView1.EditIndex] [ SR_NO]。ToString()。Trim(); ddlstItem.SelectedItem.Text = dt.Rows [GridView1.EditIndex] [ Item ]的ToString()修剪(); txtQty.Text = dt.Rows [GridView1.EditIndex] [ Qty]。 。的ToString()修剪(); txtRate.Text = dt.Rows [GridView1.EditIndex] [ Rate]。 。的ToString()修剪(); txtAmount.Text = dt.Rows [GridView1.EditIndex] [ 金额]。 。的ToString()修剪(); GridView1.EditIndex = -1; } btnSave.Enabled = false ; btnUpdate.Enabled = true ; btnCancel.Enabled = true ; txtSrno.Enabled = true ; ddlstItem.SelectedItem.Enabled = true ; txtQty.Enabled = true ; txtRate.Enabled = true ; txtAmount.Enabled = true ; } } 受保护 void btnUpdate_Click( object sender,EventArgs e) { } protected void btnCancel_Click( object sender,EventArgs e) { txtSrno .Text = string .Empty; ddlstItem.SelectedIndex = -1; // ddlstItem.SelectedIndex = -1; txtQty.Text = string .Empty; txtRate.Text = string .Empty; txtAmount.Text = string .Empty; } } < / sqlparameter > 解决方案 Gridview仅用于显示来自某些数据源(例如数据库)的数据。如果要编辑它,那么在更新时也应该反映更改。为了更好地理解这个想法,请参考以下链接 Asp.net在gridview中插入,编辑,更新,删除数据 [ ^ ] 问候..:笑: using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;using System.Collections.Generic;public partial class Default2 : System.Web.UI.Page{ general gen=new general(); List<sqlparameter> pList; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { fillCustomerName(); fillItem(); DataTable dtMax = gen.GetDataTable("SPSelectDCNMForMaxRecord"); if (dtMax != null && dtMax.Rows.Count > 0 && dtMax.Rows[0]["maxRecord"] != null) { string strMaxNo = (Convert.ToInt32(dtMax.Rows[0]["maxRecord"].ToString()) + 1).ToString(); lblDCNO.Text = strMaxNo.PadLeft(10, '0'); } else { lblDCNO.Text = "0000000001"; } txtDate.Text = DateTime.Today.Date.ToString("dd/MM/yyyy"); btnUpdate.Enabled = false; btnCancel.Enabled = false; } } #region "Fill Dropdown For Customer Name" private void fillCustomerName() { DataTable dtCustomer = gen.GetDataTable("SPSelectCUST"); ddlstName.DataTextField = "Name"; ddlstName.DataValueField = "CUST_CD"; ddlstName.DataSource = dtCustomer; ddlstName.DataBind(); } #endregion #region "Fill Dropdown For Item" private void fillItem() { DataTable dtItem = gen.GetDataTable("SPselectITEM"); ddlstItem.DataTextField = "ST_DESC"; ddlstItem.DataValueField = "ST_CD"; ddlstItem.DataSource = dtItem; ddlstItem.DataBind(); } #endregion #region "Bind Gridview" private void Bindgrid(int rowcount) { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new System.Data.DataColumn("SR_NO", typeof(String))); dt.Columns.Add(new System.Data.DataColumn("Item", typeof(String))); dt.Columns.Add(new System.Data.DataColumn("Qty", typeof(String))); dt.Columns.Add(new System.Data.DataColumn("Rate", typeof(String))); dt.Columns.Add(new System.Data.DataColumn("Amount", typeof(String))); if (ViewState["CurrentData"] != null) { for (int i = 0; i < rowcount + 1; i++) { dt = (DataTable)ViewState["CurrentData"]; if (dt.Rows.Count > 0) { dr = dt.NewRow(); dr[0] = dt.Rows[0][0].ToString(); } } dr = dt.NewRow(); dr[0] = txtSrno.Text; dr[1] = ddlstItem.SelectedItem.Text.ToString(); dr[2] = txtQty.Text; dr[3] = txtRate.Text; dr[4] = txtAmount.Text; dt.Rows.Add(dr); } else { dr = dt.NewRow(); dr[0] = txtSrno.Text; dr[1] = ddlstItem.SelectedItem.Text.ToString(); dr[2] = txtQty.Text; dr[3] = txtRate.Text; dr[4] = txtAmount.Text; dt.Rows.Add(dr); } if (ViewState["CurrentData"] != null) { GridView1.DataSource = (DataTable)ViewState["CurrentData"]; GridView1.DataBind(); } else { GridView1.DataSource = dt; GridView1.DataBind(); } ViewState["CurrentData"] = dt; } #endregion #region "Save Data In GridView" protected void btnSave_Click(object sender, EventArgs e) { if (ViewState["CurrentData"] != null) { DataTable dt = (DataTable)ViewState["CurrentData"]; int count = dt.Rows.Count; Bindgrid(count); } else { Bindgrid(0); } txtSrno.Text = string.Empty; ddlstItem.SelectedIndex = -1; txtQty.Text = string.Empty; txtRate.Text = string.Empty; txtAmount.Text = string.Empty; } #endregion protected void txtChalan_No_TextChanged(object sender, EventArgs e) { DataTable dtchk = gen.GetDataTable("SPChkChalan"); if (dtchk.Rows.Count > 0) { lblMsg.Text = "Chalan Number Already there"; } else { lblMsg.Text = "Chalan Number Available"; } } protected void txtQty_TextChanged(object sender, EventArgs e) { txtAmount.Text = Convert.ToString((Convert.ToInt32(txtQty.Text.Trim())) * (Convert.ToInt32(txtRate.Text.Trim()))); } protected void txtRate_TextChanged(object sender, EventArgs e) { txtAmount.Text = Convert.ToString((Convert.ToInt32(txtQty.Text.Trim())) * (Convert.ToInt32(txtRate.Text.Trim()))); } protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { DataTable dt = (DataTable)ViewState["CurrentData"]; GridView1.DataSource = dt; string SR_NO = GridView1.SelectedDataKey.Value.ToString(); GridViewRow row = GridView1.SelectedRow; GridView1.EditIndex = GridView1.SelectedIndex; if (SR_NO != "0") { if (dt.Rows.Count > 0) { txtSrno.Text = dt.Rows[GridView1.EditIndex]["SR_NO"].ToString().Trim(); ddlstItem.SelectedItem.Text = dt.Rows[GridView1.EditIndex]["Item"].ToString().Trim(); txtQty.Text = dt.Rows[GridView1.EditIndex]["Qty"].ToString().Trim(); txtRate.Text = dt.Rows[GridView1.EditIndex]["Rate"].ToString().Trim(); txtAmount.Text = dt.Rows[GridView1.EditIndex]["Amount"].ToString().Trim(); GridView1.EditIndex = -1; } btnSave.Enabled = false; btnUpdate.Enabled = true; btnCancel.Enabled = true; txtSrno.Enabled = true; ddlstItem.SelectedItem.Enabled = true; txtQty.Enabled = true; txtRate.Enabled = true; txtAmount.Enabled = true; } } protected void btnUpdate_Click(object sender, EventArgs e) { } protected void btnCancel_Click(object sender, EventArgs e) { txtSrno.Text = string.Empty; ddlstItem.SelectedIndex = -1; //ddlstItem.SelectedIndex = -1; txtQty.Text = string.Empty; txtRate.Text = string.Empty; txtAmount.Text = string.Empty; }}</sqlparameter> 解决方案 Gridview is used just to display data that came from some datasource(e.g. database). If you want to edit it,then on update the change should also be reflected. To better understand the idea,refer to below linkAsp.net insert, Edit, update, delete data in gridview[^]Regards..:laugh: 这篇关于当我从gridview中选择数据并在我的表单中进行更改之后...我可以在gridview中更新那个chage数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-30 02:01