combobox
の並べ替えオプションを作成していますdatagridview
。
private DataClasses1DataContext db = new DataClasses1DataContext();
private int numberOfObjectsPerPage = 20;
private int CurrentPageIndex = 1;
private string ordering = "c.name ascending";
private void Form1_Load(object sender, EventArgs e)
{
GetData(CurrentPageIndex);
}
private void GetData(int page)
{
page = page - 1;
var query = (from c in db.enterprise
orderby ordering
select new { c.id, c.name, c.phone, c.email, c.type, c.city })
.Skip(numberOfObjectsPerPage * page).Take(numberOfObjectsPerPage);
dataGridView1.DataSource = query;
}
private void orderBtn_Click(object sender, EventArgs e)
{
if (orderCB.SelectedIndex == 1)
{
ordering = "c.name descending";
}
else if (orderCB.SelectedIndex == 2)
{
ordering = "c.id ascending";
}
else if (orderCB.SelectedIndex == 3)
{
ordering = "c.id descending";
}
else
{
ordering = "c.name ascending";
}
GetData(CurrentPageIndex);
}
ここで 2 つの問題が発生しました。
- 私の現在のデータは約
2.500
行です。20
ページネーションを使用しているため、データ/ページが表示されますが、datagridview
. 何が間違っている可能性がありますか? - 注文ボタンが機能しません。
C# を使うのはこれが初めてなので、ここで何か見落としているかもしれません :D
アップデート
だから私は自分のコードを the_joric からの提案として変更しました
Func<IEnumerable<cooperations>, IEnumerable<cooperations>> ordering = t => t;
この参照に基づいてDBTypeを協力に変更します(私が正しいことを願っています:D)
しかし、その後、私のデータグリッドビューには何も表示されません。私が得たのはこれです
System.Linq.Enumerable+<TakeIterator>d__3a`1[<>f__AnonymousType0`7[System.Int32,System.String,System.String,System.String,System.String,System.String,System.String]]
A first chance exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll