0

適切な質問トピックを見つけるのが困難でした。では、もっと詳しく説明しましょう。バーコードジェネレーターのシンプルな webapp を作成しています。それは私たちの倉庫チームのためです。

SqlCommすべてのSQL接続関連のものを処理するという名前のクラスを作成しました。次に、クエリがあります (クエリは、間に日付がある列をカウントするだけです)。arrayサイズの設定にはクエリを使用します。その後、forサイクルをループし、新しいラベルをそれぞれプレースホルダーに追加します。残念ながら、作成したばかりの新しいラベルがプレースホルダーに表示されません。

c# (コードビヒング)

  int index = 0;
  int iLength = 0;

  dt = SqlComm.SqlDataTable("SELECT [Lenum] FROM [SUIDonMachineTable] WHERE MachineTimestamp  BETWEEN CONVERT(datetime,'"+strDayFrom+"', 121) AND CONVERT(datetime,'"+strDayTo+"', 121) AND Station ='NG08NX1BT'");

  object obj = new object();
  obj = SqlComm.SqlReturn("SELECT COUNT (Lenum) FROM [SUIDonMachineTable] WHERE MachineTimestamp  BETWEEN CONVERT(datetime,'"+strDayFrom+"', 121) AND CONVERT(datetime,'"+strDayTo+"', 121) AND Station ='NG08NX1BT'");
  iLength = Convert.ToInt32(obj);
  Label[] labels = new Label[iLength];

  for (index = 0; index == iLength; index++)
     {                        
         labels[index] = new Label();
         labels[index].Text = (string)dt.Rows[index]["Lenum"];
         PH.Controls.Add(labels[index]);                                
     }

asp.net (プレースホルダー部分)

<asp:PlaceHolder ID="PH" runat="server"></asp:PlaceHolder>
4

3 に答える 3

0

index == iLengthtry withのためにループに達していないため、何も得られませんindex < iLength

于 2013-01-18T17:48:25.377 に答える
0

問題はポストバックにあると思います。動的に作成されたコントロール値がポストバック後に失われたため。
ポストバックにプログラムで追加されたコントロールへのアクセス
http://www.codeproject.com/Articles/18080/Solve-Dynamic-Control-Problem-With-PostBack

于 2013-01-18T17:19:59.760 に答える
0
for (index = 0; index < iLength; index++)

それを試してみてください。

于 2013-01-18T17:23:55.197 に答える