|
■No57665 (いちろう さん) に返信
> ListBoxのSortedプロパティをTrueにすることで、ソートは可能ですが、
> 辞書順でなく数値順でソートしたいと思っております。
並び順を重視したいなら、DataTable を経由させてみては如何でしょう。
private DataTable table;
private void Form1_Load(object sender, EventArgs e)
{
table = new DataTable();
table.Columns.Add("数値", typeof(decimal)); // 数値型の列として定義
table.Rows.Add(1);
table.Rows.Add(10);
table.Rows.Add(11);
table.Rows.Add(2);
table.Rows.Add(20);
table.Rows.Add(21);
listBox1.DataSource = table;
listBox1.DisplayMember = "数値";
listBox1.ValueMember = "数値";
}
private void button1_Click(object sender, EventArgs e)
{
// 昇順
table.DefaultView.Sort = "数値 ASC";
}
private void button2_Click(object sender, EventArgs e)
{
// 降順
table.DefaultView.Sort = "数値 DESC";
}
private void button3_Click(object sender, EventArgs e)
{
// ソートなし
table.DefaultView.Sort = null;
}
|