如何检索2个以上的值并将其放在gridview的文本框中 [英] how to retrieve more than 2 values and put it in textbox in gridview

查看:122
本文介绍了如何检索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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆