我試圖找出讓我的列以默認順序(從左到右)爲所有用戶啓動的最簡單方法。默認情況下在GridView中以特定的顯示順序顯示列
我嘗試在IList<T>
中設置它們,我用它來填充數據源但不起作用。
難道我除了設置每列手動下面這個頁面上的說明任何選項 - >Reordering Columns
我試圖找出讓我的列以默認順序(從左到右)爲所有用戶啓動的最簡單方法。默認情況下在GridView中以特定的顯示順序顯示列
我嘗試在IList<T>
中設置它們,我用它來填充數據源但不起作用。
難道我除了設置每列手動下面這個頁面上的說明任何選項 - >Reordering Columns
我走在VB.NET和我做了這樣的事情..
dgv.Columns(Col4).DisplayIndex = 0
dgv.Columns(Col3).DisplayIndex = 1
dgv.Columns(Col2).DisplayIndex = 2
dgv.Columns(Col1).DisplayIndex = 3
在C#中
你可以找到它here
電網將讀取並根據您的對象中的字段創建其列:
class MyObj
{
public string Column2 { get; set; }
public int Column1 { get; set; }
}
上面的代碼將先加列2,然後列1在你的網格,而下面的代碼則相反:
class MyObj
{
public int Column1 { get; set; }
public string Column2 { get; set; }
}
同去的數據表,它只是讀取它們的順序列。
要對它們重新排序,您可以使用移動方法,因爲您已經發現。
你會這樣想,但它不會那樣工作。至少不是使用IList和RadGridView控件。不過謝謝。 –
我已經在解決你的問題之前在樣本中測試了這一點,這就是它在我的結局中的表現。 – checho
看看下面的文檔。
你幾乎可以定義你想要的列看起來像的方式。這裏是代碼:
radGridView1.MasterTemplate.AutoGenerateColumns = false;
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("Name"));
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("Attributes"));
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("LastAccessTime"));
radGridView1.MasterTemplate.Columns.Add(new GridViewTextBoxColumn("CreationTime"));
DirectoryInfo directory = new DirectoryInfo("C:\\");
FileSystemInfo[] filesInDirectory = directory.GetFileSystemInfos();
radGridView1.DataSource = filesInDirectory;
正如你所看到的,我已經設置爲不自動生成列。然後我定義我想要的列。然後綁定數據源。這會給你你想要的訂單
請讓我知道這是否適合你。
你的意思是你想顯示列,只要你想要? – matzone
從左到右....所以我有Col_1,Col_2,Col_3,Col_4,我希望它們顯示在左邊(或索引0)與Col_3開始,然後是Col_2,Col_4,Col_1。合理。我不是在說這裏的可視性。 –
你檢查我的答案嗎? – matzone