すべてのユーザーに対して、列をデフォルトの順序 (左から右) で開始する最も簡単な方法を見つけようとしています。
DataSource の入力に使用するでそれらを設定しようとしましたIList<T>
が、うまくいきません。
このページの指示に従って各列を手動で設定する以外にオプションはありますか -->列の並べ替え
次のドキュメントを参照してください。
列をどのように表示するかをほぼ定義できます。コードは次のとおりです。
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;
ご覧のとおり、列を自動生成しないように設定しています。次に、必要な列を定義します。そして、データソースをバインドするだけです。これにより、必要な順序が得られます
これがうまくいくかどうか教えてください。
私はVB.NETを歩いていて、このようなことをしました..
dgv.Columns(Col4).DisplayIndex = 0
dgv.Columns(Col3).DisplayIndex = 1
dgv.Columns(Col2).DisplayIndex = 2
dgv.Columns(Col1).DisplayIndex = 3
C# では、ここで見つけることができます
グリッドは、オブジェクトのフィールドに従って列を読み取り、作成します。
class MyObj
{
public string Column2 { get; set; }
public int Column1 { get; set; }
}
上記のコードは最初に Column2 を追加し、次に Column1 をグリッドに追加しますが、次のコードはその逆を行います。
class MyObj
{
public int Column1 { get; set; }
public string Column2 { get; set; }
}
DataTables についても同じことが言えます。列を順番に読み取るだけです。
それらを並べ替えるには、すでにわかっているようにMoveメソッドを使用できます。