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();
}