网格视图中的列值未按顺序显示 - C#

时间:2015-12-09 01:47:30

标签: c# datatable

我在使用此代码时出现问题,我将行从一个网格视图传递到另一个网格视图,但网格视图没有按顺序显示数据。

    System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;

    public partial class PuntoVenta : Page
    {

     DataTable dtband = new DataTable();        

        protected void Page_Load(object sender, EventArgs e)
        {

      if (!IsPostBack)
     {

            DataTable dtbind = new DataTable();
            dtbind.Columns.Add("Id");
            dtbind.Columns.Add("Qnt");
            dtbind.Columns.Add("Unit");
            dtbind.Columns.Add("Name");
            dtbind.Columns.Add("Rel");
            dtbind.Columns.Add("Price");
            dtbind.Columns.Add("Class");
            Session["ss"] = dtbind;
    }
    }

    protected void GridViewA_SelectedIndexChanged(object sender, EventArgs e)       {

      dtband = (DataTable)Session["ss"];        

      DataRow dataRow;
      dataRow = dtband.NewRow();
      int i2 = 0;
      for (int i = 0; i < dataRow.Table.Columns.Count; i++)
        {
        dataRow[i] = GridViewA.SelectedRow.Cells[i2].Text;

        i2++;
          }
 dtband.Rows.Add(dataRow);

                GridViewB.DataSource = dtband;
                GridViewB.DataBind();
}
}  
  

当我运行代码时,GridViewB已填充,但其第一列为空,此外,应在第一列中显示的值显示在第二列中。

1 个答案:

答案 0 :(得分:1)

您可以设置DiplayIndex的{​​{1}}属性,

Gridview Column

在您的应用程序中添加以下代码

//Here 1 is index of desired column
datagridview1.Columns["ColumnName"].DisplayIndex = 1;

有关DisplayIndex属性的更多信息,请参阅This Link