BC30002: 型 'ListItem' が定義されていません
- ASP.NET2.0でドロップダウンリストにitemを追加しようとすると、型 'ListItem' が定義されていないというコンパイルエラーが発生します。
- サイトのファイルをアップロードし直した後に問題が発生しました。
- 初心者のため、コードの問題かIISの問題かわかりません。助けてください。
- ベストアンサー
BC30002: 型 'ListItem' が定義されていません となり動きません
ASP初心者です。 ASP.NET2.0でドロップダウンリストに以下のコードでitemを追加しようとすると「コンパイル エラー メッセージ: BC30002: 型 'ListItem' が定義されていません。」となり動きません。当初はうまく動いていたのですが、サイトのファイルすべてをアップロードし直してから動かなくなりました。 初心者ゆえコードが悪いのか、IISに問題があるのかさっぱりわかりません。どなたかお教えいただけませんでしょうか。 よろしくお願いいたします。 ------------------------------------------------- Dim i as Integer Dim liitem As ListItem 'ここでエラーになります For i = 1 To 15 liitem = New ListItem liitem.Text = i liitem.Value = i+100 Me.DropDownList.Items.Add(liitem) Next i 変数を宣言せず Me.DropDownList.Items.Add(New ListItem(i, i+100)) として追加しようとしても同じでした。 よろしくお願いいたします。
- DSF7
- お礼率100% (1/1)
- Microsoft ASP
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
宣言に使った ListItemを Systemからの完全修飾で書いてみてはいかがでしょう Dim liitem as System.Web.UI.WebControls.ListItem といった具合ですが ・・・ これで通るなら Imports宣言がおかしくなっている可能性があります
関連するQ&A
- BC30002 型 List が定義されていません
ASP.NETにてWEBアプリケーションを作っています。 IISのバージョン? によってエラーが出たり出なかったりしており、解決方法を探しています。 <エラーの起きる行> Dim xxx As New List(Of ReportParameter) <エラー内容> BC30002: 型 'List' が定義されていません。 <エラーの起きる環境> 環境 Win7/IIS7.5 Microsoft .NET Framework バージョン:2.0.50727.5446; ASP.NET バージョン:2.0.50727.5420 IIS6ですとエラーが起きず、きちんと動くのです。 情報をお持ちの方はお願いします。
- ベストアンサー
- Microsoft ASP
- ComboBoxのItem追加
VB.NETでの開発初心者です。 ComboBoxのItem追加について、1行づつ追加していくのは理解できているのですが、HTMLでのListBox「OPTIONS設定」の様にArrayListにて一括追加する方法がわかりません。 ご存知の方、よろしくお願いします。 <1行づつ追加> Me.ComboBox1.Items.Clear() Me.ComboBox1.Items.Add(New ComboItems(Key値, 表示値)) ※ComboItemsクラスは、別途作成 <一括追加> Dim comboArray As New ArrayList comboArray.Add(New ComboItems(Key値, 表示値)) Me.ComboBox1.Items.???(comboArray) ← ここがわからない
- ベストアンサー
- Visual Basic
- 実行時追加したコントロールの識別
VB2008を使用しています。 プログラム実行中に追加したコントロールをどのように識別すればいいのかがわからなくて困っています。 例えば以下のようにすると、 itemsが1と2のコンボボックスが10個できますが、 すべてNewComboBoxという名前のコントロールのため、 最終的にそれぞれ1か2どちらを選択したかを知りたいときに、 10個のコントロールをどのように識別すればよいかわかりません。 Dim NewComboBox As ComboBox = New ComboBox() For i = 1 To 10 NewComboBox = New ComboBox() NewComboBox.Items.Add(1) NewComboBox.Items.Add(2) NewComboBox.Location = New Point(5, 5 + (24 * (i - 1))) Me.Controls.Add(NewComboBox) Next 説明が不明瞭であるかもしれませんが、 お分かりの方いらっしゃいましたら、ご回答願います。
- 締切済み
- Visual Basic
- DatagridviewComboboxCellについて聞きたいですが
DatagridviewComboboxCellについて聞きたいですが、 各セルのコンボボックスに違い値を入れたいけど、以下のエラーが出ました。 "指定されたセルはグリッドにすでに属しています"。 ソース例: Dim Reader As FileReader = New FileReader("C://text.txt") Dim cbb as New DatagridviewComboboxCell() Dim cbb1 as New DatagridviewComboboxCell() Dim strA as String = "" Dim t as integer = 0 Me.Controls.Add(Dtgrdview) Dtgrdview.ColumnCount = 5 . (省略) For i as Integer = 0 to 10 Select case strA Case "A" cbb.Items.Add(Cstr(i)) Case "B" cbb1.Items.Add(Cstr(i+1)) End Select Next With Dtgrdview.Rows While not Reader.EndofData Dim _readFile As readFile = New readFile(Reader.ReadFields()) '(readFile.vbは別) Dim row As String() = _ {_readFile.Class,_readFile.Name,_readFile.Year,_readFile.Add} ' Dtgrdview.Rows.Add(row) Select Case _readFile.ID Case "A" Dtgrdview.Rows(t).Cells(4) = cbb ==> t= 1 エラーが出る Case Else Dtgrdview.Rows(t).Cells(4) = cbb1 End Select t += 1 End While ReadFile.Close() End With 解決方法を教えてください。ありがとうございます。
- 締切済み
- Visual Basic
- コレクションの数値をSortで並び替える
ご多忙中申し訳ありません。 Dim data As New List(Of Integer)で型指定した、dataの数値を単純に、下記のコードのようにdata.Sort() で並べ替えをしても綺麗に並べ替えが出来ますが、殆どのサイトでは、このような使い方をせず、IComparerインターフェイスを実装したクラスを使ったり、又はバブルソートなどを使って並べ替えをしていますが。 単純にdata.Sort() のような、並べ替えは問題があるのでしょうか、大変恐縮ですがご教示ください。 FormにButtonとListBoxを貼り付けました。 Dim data As New List(Of Integer) 'Integer型にする。 Private Sub f() Handles MyBase.Load 'データをaddする。 data.Add(235) data.Add(4) data.Add(567) data.Add(53) data.Add(56) data.Add(87943) data.Add(43) data.Add(890) data.Add(342) data.Add(56) data.Add(64) data.Add(5) data.Add(0) ListBox1.Items.Clear() End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim i As Integer Dim dtcnt As Integer 'リストの数の変数。 dtcnt = data.Count 'リストの数を取得してループの回数に使う。 data.Sort() '並べ替え For i = 0 To dtcnt - 1 ListBox1.Items.Add(data(i)) 'テストの結果をリストボックスに表示。 Next 'ListBox1には綺麗に並べ替えが完了して表示されています。 End Sub 何卒宜しくお願いします。
- ベストアンサー
- Visual Basic
- dropdownlistのvalue値の取得方法について
VS2005 WinXP pro 下のようにページ表示時にDropDownListに年を入れています。 しかし、DropDownListを何に変更してもSelectedIndexした 値が取れてしまい困っています (今なら常に2008が取れてしまう) 本当なら2009を選択したときは下の関数で 2009と表示したいのです。 お力添えお願いいたします。 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load '-------------------------------------------------------------------------------------- ' 年をコンボボックスに追加 '-------------------------------------------------------------------------------------- Dim sNum As Integer = 0 Dim y As Integer For y = 2007 To Year(Now) + 3 cmbYear.Items.Add(New ListItem(y, y)) If y = Year(Now) Then cmbYear.SelectedIndex = sNum ←ここを消すと正しく動く End If sNum += 1 Next End Sub Protected Sub btnEdit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEdit.Click '-------------------------------------------------------------------------------------- ' 選択項目の取得 '-------------------------------------------------------------------------------------- MsgBox(cmbYear.Items.Item(cmbYear.SelectedIndex).Value) 2008 MsgBox(cmbYear.SelectedValue) ←2008 どちらも2008 End Sub 以上、よろしくお願い致します。
- ベストアンサー
- Microsoft ASP
- ComboBoxのプロパティについて
コンボボックスに年数を表示します。 プロパティはDropDownListです。 dim year as integer For year = 1990 to 2010 yearcombobox.items.add(year) Next 質問:コンボボックスに年数以外に空白を一つ 入れたいですが(年数と空白を両方選択できるように作りたいです。) どなたか教えて下さい。
- 締切済み
- Visual Basic
- vb.bet リストボックスの2項目の表示
vb.net始めて3ヶ月の超初心者ですのでよろしくお願いいたします。 リストボックスにYearと売り上げ高の2項目をIndexにもとづいて表示します。Variable、Indexなどはできているものとします。 このようなイメージです。 YEAR SALES 2007 1000 2008 2000 2009 2500 2010 3000 Dim strYear as string Dim intSales as integer Dim intFill as integer Dim strDisplay as String For intFill = 0 To 3 Me.lstBoxTotalYear.Items.Add(strYear(intFill)) これをつかうと、YearしかMe.lstBoxTotal...に入れられませんでした。2個いれたらErrorになりました。一方では、strDisplayをつくってYearとSalesをつなげて strDisplay = strYear & intSales.ToStringをつくったのですがこれもはねられました。 YearとSalesを2個いれるにはどうしたらいいでしょうか。或いは、他のCommandなどがありますでしょうか。Internetや他の本をみてもみつかりませんでした。 よろしくお願いいたします。
- 締切済み
- Visual Basic
- VB2010でのコントロール多次元配列について
教えてください。 実行中にコントロールを生成したいのですが、 Public Class Form1 Private myTxt(,) As System.Windows.Forms.TextBox Me.myTxt = New System.Windows.Forms.TextBox(59, 2) {} Dim i As Integer Dim j As Integer Dim h As Integer Dim p As Integer h = 10 p = 100 For i = 0 To Me.myTxt.GetLength(0) - 1 For j = 0 To Me.myTxt.GetLength(1) - 1 Me.myTxt(i, j) = New System.Windows.Forms.TextBox Me.myTxt(i, j).Name = "myTxt" + i.ToString() + j.ToString() Me.myTxt(i, j).Size = New Size(100, 30) Me.myTxt(i, j).Location = New Point(p, h) p = p + 100 Next j h = h + 30 Next i Me.myPnl.Controls.AddRange(Me.myTxt) と書くと最後の行が波線になり、 “型 'System.Windows.Forms.TextBox の 2 次元配列' の値を 'System.Windows.Forms.Control' に変換できません。”とエラーになります。 これはAddRangeは多次元配列に使用できないということなのでしょうか? 色々検索してみましたが、コントロールの生成に関する多次元配列が見つけられずに 困っていました。 最後のAddRange(Me.myTxt)をAdd(Me.myTxt(i,j))などと変えたりしても別のエラーになり、 基本的に間違っている気がしますがどこだかがわかりません。 詳しい方、宜しくお願い致します。
- ベストアンサー
- Visual Basic
- キューとコンボボックスの使い方 VB2008
VB2008を使っています。 キューとコンボボックスの使い方がわからないのですが、以下のソースで (1)キューとデータソースを使う。 Dim queue As Queue = New Queue(20) For i As Integer = 0 to 9 queue.Enqueue( i.ToString() ) Next i ComboBox1.DataSource = queue.ToArray ComboBox2.DataSource = queue.ToArray (2)べたな方法 ComboBox1.Items.Clear() For i As Integer = 0 to 9 ComboBox1.Items.Add( i.ToString() ) Next i ComboBox2.Items.Clear() For i As Integer = 0 to 9 ComboBox2.Items.Add( i.ToString() ) Next i ------------------------ (1) (1)と(2)は厳密にどのように違うのでしょうか? (2) (1)で心配なのは、キューの上限を20にしていて、実際使っているのは10個で後は空です。 この状態で、コンボボックスのDataSourceにセットした場合、(2)と同じように10件だけになっているのでしょうか? (3) (1)は同じキューを使いまわしています。コンボボックス1と2は独立して使えるのでしょうか?(データは同じです。)
- ベストアンサー
- Visual Basic
お礼
ご回答ありがとうございます。 ご指摘の通り完全修飾で書いてみたところ通りました。 ありがとうございます。 IISで改めてサイトを作り、あげ直したところ完全修飾でなくても 通るようになりました。 いろいろ調べましたが、解決の糸口がわからず困っていましたので、 大変助かりました。ありがとうございます。