如何检索2个以上的值并将其放在gridview的文本框中 [英] how to retrieve more than 2 values and put it in textbox in gridview
本文介绍了如何检索2个以上的值并将其放在gridview的文本框中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
int rowIndex = 0 ;
for ( int i = 1 ; i < = dt.Tables [ 1 ]。Rows.Count; i ++)
{
System.Web.UI.WebControls.TextBox combobox =(System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows [rowIndex] .Cells [ 0 ].FindControl( combo);
System.Web.UI.WebControls.TextBox sizes =(System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows [rowIndex] .Cells [ 1 ] .FindControl( sizes);
System.Web.UI.WebControls.TextBox barcodenumber =(System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows [rowIndex] .Cells [ 2 ] .FindControl( barcodeno);
System.Web.UI.WebControls.TextBox ratio =(System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows [rowIndex] .Cells [ 3 ] .FindControl( ratio);
System.Web.UI.WebControls.TextBox qty =(System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows [rowIndex] .Cells [ 4 ] .FindControl( qty);
combobox.Text = dt.Tables [ 1 ]。行[i - 1 ] [ Combo1]。ToString();
sizes.Text = dt.Tables [ 1 ]。行[i - 1 ] [ 尺寸]。ToString();
barcodenumber.Text = dt.Tables [ 1 ]。行[i - 1 ] [ Barcode_Number]。ToString();
ratio.Text = dt.Tables [ 1 ]。行[i - 1 ] [ Ratio]。ToString();
qty.Text = dt.Tables [ 1 ]。行[i - 1 ] [ 数量]。ToString();
rowIndex ++;
}
我在第一次执行循环时得到所有值(rowIndex = 0)并且抛出错误虽然我增加了rowIndex,但索引超出了范围。 dt.Rows.Count = 3。
如何检索gridview中相应文本框中的所有3个值....
解决方案
我解决了自己......工作正常现在......
受保护 void LoadGridViewfromDB()
{
try
{
DataTable dtCurrentTable =(DataTable) ViewState [ CurrentTable];
if (ViewState [ CurrentTable]!= null )
{
DataTable dt = new DataTable ();
DataRow dr = null ;
dt.Columns.Add( new DataColumn( Col1, typeof ( string )));
dt.Columns.Add( new DataColumn( Col2, typeof ( string )));
dt.Columns.Add( new DataColumn( Col3, typeof ( string )));
dt.Columns.Add( new DataColumn( Col4, typeof ( string )));
dt.Columns.Add( new DataColumn( Col5, typeof ( string )));
for ( int i = 1 ; i < = dtCurrentTable.Rows.Count; i ++)
{
dr = dt.NewRow();
dr [ Col1] = string 跨度> .Empty;
dr [ Col2] = string 跨度> .Empty;
dr [ Col3] = string 跨度> .Empty;
dr [ Col4] = string 跨度> .Empty;
dr [ Col5] = string 跨度> .Empty;
dt.Rows.Add(dr);
}
ViewState [ CurrentTable] = dt;
gvmonoprixmasters.DataSource = dt;
gvmonoprixmasters.DataBind();
}
else
{
Response.Write( ViewState为null);
}
}
catch (例外ee){}
}
int rowIndex = 0;
for (int i = 1; i <= dt.Tables[1].Rows.Count; i++)
{
System.Web.UI.WebControls.TextBox combobox = (System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows[rowIndex].Cells[0].FindControl("combo");
System.Web.UI.WebControls.TextBox sizes = (System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows[rowIndex].Cells[1].FindControl("sizes");
System.Web.UI.WebControls.TextBox barcodenumber = (System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows[rowIndex].Cells[2].FindControl("barcodeno");
System.Web.UI.WebControls.TextBox ratio = (System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows[rowIndex].Cells[3].FindControl("ratio");
System.Web.UI.WebControls.TextBox qty = (System.Web.UI.WebControls.TextBox)gvmonoprixmasters.Rows[rowIndex].Cells[4].FindControl("qty");
combobox.Text = dt.Tables[1].Rows[i - 1]["Combo1"].ToString();
sizes.Text = dt.Tables[1].Rows[i - 1]["Sizes"].ToString();
barcodenumber.Text = dt.Tables[1].Rows[i - 1]["Barcode_Number"].ToString();
ratio.Text = dt.Tables[1].Rows[i - 1]["Ratio"].ToString();
qty.Text = dt.Tables[1].Rows[i - 1]["Quantity"].ToString();
rowIndex++;
}
I get all the values when the loop executes 1st time(rowIndex=0) and throws error index was out of range though I increment the rowIndex. dt.Rows.Count=3.
How to retrieve all 3 values in respective textbox present in gridview....
解决方案
I solved myself ... Its working fine now...
protected void LoadGridViewfromDB() { try { DataTable dtCurrentTable =(DataTable)ViewState["CurrentTable"]; if (ViewState["CurrentTable"] != null) { DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add(new DataColumn("Col1", typeof(string))); dt.Columns.Add(new DataColumn("Col2", typeof(string))); dt.Columns.Add(new DataColumn("Col3", typeof(string))); dt.Columns.Add(new DataColumn("Col4", typeof(string))); dt.Columns.Add(new DataColumn("Col5", typeof(string))); for (int i = 1; i <= dtCurrentTable.Rows.Count; i++) { dr = dt.NewRow(); dr["Col1"] = string.Empty; dr["Col2"] = string.Empty; dr["Col3"] = string.Empty; dr["Col4"] = string.Empty; dr["Col5"] = string.Empty; dt.Rows.Add(dr); } ViewState["CurrentTable"] = dt; gvmonoprixmasters.DataSource = dt; gvmonoprixmasters.DataBind(); } else { Response.Write("ViewState is null"); } } catch (Exception ee) { } }
这篇关于如何检索2个以上的值并将其放在gridview的文本框中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文