Visual Studio 2017 C#でListviewに日付と株価を表示してみます。
動作環境
- Windows 10
- Visual Studio Community 2017
- ターゲットフレームワーク .NET Framework 4.6.1
Pan Active Marketにチェックを入れる
「プロジェクト」→「参照の追加」→「COM」を開いて、Pan Active Market Database 1.3にチェックを入れる。

Listview、button、textboxオブジェクトの配置
ツールボックスから、Listview、button、textBoxオブジェクトを配置する

Listviewはプロパティを以下のように設定します。

↓
メンバーを追加し、TextとNameを設定します。終わったら「OK」ボタンを押下します。

Viewをdetailesに設定します。

textBoxのTextを1001に設定します。

プログラムコード
using System;
using System.Collections; // これを追加
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ListViewSample
{
public partial class Form1 : Form
{
private ActiveMarket.Prices pr = new ActiveMarket.Prices();
private ActiveMarket.Calendar cal = new ActiveMarket.Calendar();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
int LatesPos;
int BeginPos;
int result;
int i;
double data;
listView1.Items.Clear(); //項目を全てクリア
pr.Read(textBox1.Text); //四本値と出来高読み込む
LatesPos = pr.End(); //日付位置の最大値を取得する
BeginPos = LatesPos - 100 ;
ListViewItem lstview = new ListViewItem();
for (i = 1; LatesPos >= BeginPos; BeginPos++, i++)
{
result = pr.IsClosed(BeginPos);
lstview = this.listView1.Items.Add(BeginPos.ToString()); //Noを表示する(日付位置)
lstview.SubItems.Add(cal.Date(BeginPos).ToString("yyyy/MM/dd")); //日付を表示する
if (pr.IsClosed(BeginPos) != 0) //指定した日付が休場日かどうかの判定
{
lstview.SubItems.Add("----");
lstview.SubItems.Add("休場日");
}
else
{
data = pr.Close(BeginPos); //終値を取得する
lstview.SubItems.Add(data.ToString());
lstview.SubItems.Add("");
}
}
//ListView1のすべての列を自動調節
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
lstview = null;
}
}
}
実行結果
実行して、button1を押下します。

まとめ
C#のListViewを使って、株価データを表示しました。
コメント
[…] Pan Active Marketにチェックをいれます。 […]