2011-12-03 4 views
1

BindingNavigatorをBindingSourceにバインドしようとしています。非常にうまく動作しますが、問題は黄色のプラスアイコンが無効になっていることです。どうすれば有効にすることができますか?AddNewItemをBindingNavigatorで有効にする方法

データセット、テーブルアダプタ、バインディングソースのコードを手動で作成しましたが、バインディングナビゲータでバインドするとレコードが表示されますが、「削除」と「アイテムの追加」は有効になりません。

何が間違っていますか?コメントから

コード:

Dim connstr As String = "Data Source=" + Application.StartupPath + "\Prueba.sdf" 
Dim conn As New SqlCeConnection(connstr) 
Dim cmd As New SqlCeCommand("SELECT * FROM datos", conn) 
Dim inscmd As New SqlCeCommand("INSERT INTO datos VALUES (@nombre,@apellido,@id)", conn) 
dt = New SqlCeDataAdapter(cmd) 
dt.Fill(DataSet1, "datos") 
dt.InsertCommand = inscmd 
BindingSource1.DataSource = DataSet1 
DataGridView1.DataSource = BindingSource1 
DataGridView1.DataMember = "datos" 
DataGridView1.Columns("id").Visible = False 

答えて

1

あなたは何のコードは設けられていないので、あなたはそれが本当に難しい問題を解決しようとするためになさ。

以下は、動作する例です。新しいフォームを作成し、TextBoxBindingNavigatorのコントロールをドロップします。

は、このコードを追加します。

Public Class Form1 
    Private bs As New BindingSource 
    Private ds As New DataSet 
    Private dt As New DataTable 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    dt.TableName = "English" 
    dt.Columns.Add("Words") 
    dt.Rows.Add("Hello") 
    dt.Rows.Add("Good-Bye") 
    ds.Tables.Add(dt) 
    bs.DataSource = ds 
    bs.DataMember = "English" 
    TextBox1.DataBindings.Add("Text", bs, "Words") 
    BindingNavigator1.BindingSource = bs 
    End Sub 
End Class 

TextBoxはそれで "こんにちは" が必要です。 BindingNavigatorには「1 of 2」が必要です。さらに、「追加」ボタンと「削除」ボタンを有効にして動作させる必要があります。

これで問題を解決できない場合は、問題を再現するためのコードを記載する必要があります。

+0

こんにちは、返信@LarsTechのためのおかげで、ここでのコード 'ですhttp:// pastebin.com/rtLzTNmH'は、 –

0

私は、フォームに2番目のテキストボックスを追加し、テーブルの2番目の列を追加し、両方のレコードに2つのフィールドを設定しました。

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    dt.TableName = "English" 
    dt.Columns.Add("Words") 
    dt.Columns.Add("Spanish") 
    dt.Rows.Add("Hello", "Hola") 
    dt.Rows.Add("Good-Bye", "Adios") 
    ds.Tables.Add(dt) 
    bs.DataSource = ds 
    bs.DataMember = "English" 
    TextBox1.DataBindings.Add("Text", bs, "Words") 
    TextBox2.DataBindings.Add("Text", bs, "Spanish") 
    BindingNavigator1.BindingSource = bs 
End Sub 
関連する問題