1

すべてのユーザーに対して、列をデフォルトの順序 (左から右) で開始する最も簡単な方法を見つけようとしています。

DataSource の入力に使用するでそれらを設定しようとしましたIList<T>が、うまくいきません。

このページの指示に従って各列を手動で設定する以外にオプションはありますか -->列の並べ替え

4

3 に答える 3

1

次のドキュメントを参照してください。

http://www.telerik.com/help/winforms/gridview-populating-with-data-tips-when-binding-to-custom-collections.html

列をどのように表示するかをほぼ定義できます。コードは次のとおりです。

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;

ご覧のとおり、列を自動生成しないように設定しています。次に、必要な列を定義します。そして、データソースをバインドするだけです。これにより、必要な順序が得られます

これがうまくいくかどうか教えてください。

于 2013-06-07T18:02:05.723 に答える
0

私はVB.NETを歩いていて、このようなことをしました..

dgv.Columns(Col4).DisplayIndex = 0
dgv.Columns(Col3).DisplayIndex = 1
dgv.Columns(Col2).DisplayIndex = 2
dgv.Columns(Col1).DisplayIndex = 3

C# では、ここで見つけることができます

于 2013-06-06T01:38:52.047 に答える
0

グリッドは、オブジェクトのフィールドに従って列を読み取り、作成します。

    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メソッドを使用できます。

于 2013-06-06T05:59:45.320 に答える