Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net网格视图中更改列名顺序的正确方法是什么_C#_Asp.net_Datagridview - Fatal编程技术网

C# 在asp.net网格视图中更改列名顺序的正确方法是什么

C# 在asp.net网格视图中更改列名顺序的正确方法是什么,c#,asp.net,datagridview,C#,Asp.net,Datagridview,这是错误,我怎样才能更正它。任何人……救命 我想在Gridview中排列列名称,我以C#的形式编写了代码,但它不起作用 namespace ip_web { public partial class login : System.Web.UI.Page { private void dgv1() { GridView1.Columns["no"].DisplayIndex = 0; GridView1

这是错误,我怎样才能更正它。任何人……救命 我想在
Gridview
中排列
名称,我以
C#
的形式编写了代码,但它不起作用

namespace ip_web
{
    public partial class login : System.Web.UI.Page
    {
        private void dgv1()
        {
            GridView1.Columns["no"].DisplayIndex = 0;
            GridView1.Columns["batch"].DisplayIndex = 1;
            GridView1.Columns["degree"].DisplayIndex = 2;
            GridView1.Columns["module"].DisplayIndex = 3;
            // dataGridView1.Columns["lecturer/instructor"].DisplayIndex = 4;
            GridView1.Columns["date"].DisplayIndex = 5;
            GridView1.Columns["time"].DisplayIndex = 6;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            Service1Client com = new Service1Client();
            GridView1.DataSource = com.GetComTimeTable();
            GridView1.DataBind();
        }
    }
}

根据标签
asp.net
和示例源代码,您使用了
GridView
。不幸的是,
GridView
中没有任何属性
DisplayIndex
。请查收

属性
DisplayIndex
存在于
DataGridView
中,它是一个
WinForms
控件。请查收。和
DataGridView
允许同时使用
name
index
获取
列。请检查下面的图片


你到底想做什么?列是基于索引的:
GridView1.columns[2]
,但即使这样,也没有
DisplayIndex
。我唯一能想到的是,您正在使用自动生成的列并试图更改它们的显示顺序?是的,我想更改显示顺序为什么不使用
BoundField
TemplateField
?然后可以控制列顺序。如果数据来自数据库,您甚至可以在
select
查询中更改列。我可以想到两种方法:1)使用JQuery操作DOM并更改列顺序2)更改基础数据的顺序。(假设您不是自动生成列)。使用这种方法,您可以缓存数据,并在用户每次更改列顺序时更新缓存。
private void dgv1()//show patient table
    {
        dataGridView1.Columns["id"].DisplayIndex = 0;
        dataGridView1.Columns["name"].DisplayIndex = 1;
        dataGridView1.Columns["gender"].DisplayIndex = 2;
        dataGridView1.Columns["age"].DisplayIndex = 3;
        dataGridView1.Columns["phone"].DisplayIndex = 4;

    }



 public void patientTableView() 
    {           //add to dataGridView

        Service1Client ptn = new Service1Client();
        dataGridView1.DataSource = ptn.GetpatientTable();

    }


private void Form1_Load(object sender, EventArgs e)
    {//call the method when form loading

        patientTableView();

    }