私はWindowsフォーム(.net 3.5)にまったく慣れておらず、バインドされたデータを適切な方法で表示しようとしています。
私はこのようなテーブルを持っています:
date - unit - message
2012-01-01 200 some text
2012-01-01 300 some text
2012-01-01 400 some text
2012-01-02 100 some text
2012-01-02 300 some text
2012-01-02 700 some text
これを次の宛先に出力したいと思います。
units - 2012-01-01 - 2012-01-02 - count
200 some text 1
100 some text 1
300 some text some text 2
など...これは可能ですか?そして、どこから始めればよいですか?私は利用可能なすべての機能とコントロールを知りません、そして多分あなたたちはいくつかの賢いアイデアを持っています。
前もって感謝します!
コード:
public DataTable ReadExcel()
{
String excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.xlsx;Extended Properties=\"Excel 12.0;IMEX=1;HDR=YES;TypeGuessRows=0;ImportMixedTypes=Text\"";
OleDbConnection excelCon = new OleDbConnection(excelConnectionString);
OleDbCommand excelSelectCmd = new OleDbCommand("SELECT * FROM [stock$]", excelCon);
OleDbDataAdapter excelAdapter = new OleDbDataAdapter();
excelAdapter.SelectCommand = excelSelectCmd;
DataSet excelDS = new DataSet();
DataTable dt = new DataTable();
excelAdapter.Fill(excelDS);
excelCon.Close();
return dt;
}
つまり、基本的には、Excelファイルからデータテーブルにデータを入力して返すだけで、それをDataGridViewにバインドすると、データはグリッドに期待どおりに表示されます。
今、私は別の方法でデータを提示する方法を探しています。
DBLayer test = new DBLayer();
dataGridView1.DataSource = test.ReadExcel();