2016-07-18 5 views
0

まず最初は申し訳ありませんが、プログラミングでは非常に新しいので、さらにC#で新しいです。私はこの問題を攻撃する方法と、自分の能力でそれを解決する方法に大きな問題を抱えています。私はSQLクエリを通していくつかのデータを抽出したいデータベースを持っていて、そのデータを抽出するデータを持つボタンのグループで表現したいと思っています。私はこのボタンを動的に作成したいと思いますが、私の無知のために私はサークルに入っています。 DataGridViewについて多くのことを読んでいますが、現実的なやり方ではありません(現実的です)。データテーブルからのフォームでの動的オブジェクトの作成C#

私が達成したのは、このDBを読み込んでデータテーブルにデータを格納できるコードを作成することです。これを中間レベルのステップとして使用して、VSを作成できるVSのフォームを作成できると信じています。データテーブル内の情報を含むボタンを作成し、データテーブルの「ボックス」ごとに1つずつ、データテーブルのように表示しますが、ボタンは相互作用可能です。

私のコードではデータテーブルを作成することができますが、私は8 x 12 - > 96のテーブルを持っていますが、これを読んでボタンの「グリッド」の一種でボタンを作成するにはどうすればいいですか?

任意のヘルプやヒントが非常に高く評価されるだろう、事前に 感謝:)

+0

あなたがやろうとしているものは明らかではありません。データベースには何がデータとして含まれていますか?あなたはボタンを通して何を提示していますか? 8 * 12は一定で、データにはボタンのキャプションが含まれていますか?そうであれば、フォームに8 * 12のボタンを置き、Textプロパティをデータから設定します(テキスト部分はダイナミックな設定になっています)。 –

+0

コメントありがとうございます。データは、データテーブルのすべての単一の「ボックス」に追加されたコード内の単純な文字列です。まあ私のknoledgeを考えると、私は定数としてそれをやっていると思っていますが、グリッドのサイズにかかわらず、適応可能なコードである方が良いことを知っています...私は "duDE"ソリューションを試してみようと思います。途中で。たぶん私はいくつかのそれを混合するので、それは私のテーブルの代わりにボタンのグリッドを作成することができます... – Juano

+0

それは、グリッドを使用するほうが良いです。また、なぜボタンコントロールを作成するのですか?代わりに、グリッドでCellClickイベントをコーディングすることができます。このアプローチでは、コードがはるかにシンプルになります(そうでなければ、ボタンごとにClickイベントをまったく必要としないと思うはずです)。 –

答えて

0

まあ、基本的にそれは簡単です:

using(SqlConnection con = new SqlConnection("connection string")) 
{ 
    int nX = 0; 
    int nY = 0; 

    con.Open(); 

    using(SqlCommand cmd = new SqlCommand("SELECT * FROM SomeTable", connection)) 
    { 
     using (SqlDataReader reader = cmd.ExecuteReader()) 
     { 
      if (reader != null) 
      { 
       while (reader.Read()) 
       { 
        //create buttons 
        Button newButton = new Button(); 

        // now set the DB properties 
        newButton.Text = reader.GetString(0): // or whatever 

        // now calculate the X and Y coordinates 
        nX += 25; 
        newButton.Location = new Point(nX,nY); 

        // add new button 
        this.Controls.Add(newButton); 
       } 
      } 
     } // reader closed and disposed up here 

    } // command disposed here 

} //connection closed and disposed here 
+1

ありがとう!私はこれを行い、データテーブル作成で作成した条件とミックスしようとします。たぶん私はテーブルの同じ原理でボタンのグリッドを作成することができます。私の必要とするものは究極的です。私はそれをやることができるかどうか試してみる。ありがとうございました! – Juano

関連する問題