2016-10-14 1 views
0

私はこれを明確にすることができます。私が持っている:asp.net VB ListviewまたはSQL Insertのデフォルト値を設定する必要があります。

リストビューをSQLデータソース で何かが選択されていることを別のドロップダウンがリストビュー/ sqldatasoureをフィルタリング

を私がやろうとしています何ものデフォルト値を設定するためにドロップダウンリストから値を使用しています挿入レコード。リストビューiteminsertのテキストボックスとsqldatasourceのInsertparameterのdefaultvalueの2つの場所が表示されます。

私はドロップダウンイベントからセッション変数を試しましたが、テキストボックスを設定すると、リストビューが更新された後に消去されます。インサートパラメータをsqldatasourceに設定する方法はありません。

私は正しいイベントとプロパティを見つけようとしています。私がこれまでテキストボックスを直接参照するか、オブジェクトまたはブロック変数が設定されていない状態でfindcontrolを使用すると、これまでに試したことがあります。言い換えれば、.net hiercharyは、私からの地獄を挫折させる。

希望はこれが理にかなっています。

おかげ

答えて

0

謝罪私は誤解だけど、あなたは自分のドロップダウンのOnSelectedIndexChangedイベントに挿入パラメータのDefaultValueを更新できませんでしたか?

<asp:DropDownList runat="server" id="ddl" OnSelectedIndexChanged="ddl_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList> 

Protected Sub ddl_SelectedIndexChanged(sender As Object, e As EventArgs) 

     MySqlDataSource.InsertParameters("ParameterName").DefaultValue = ddl.SelectedValue 

End Sub 
+0

お返事ありがとうございます。私はそれを試みたが、挿入エラーは、データソースがリフレッシュされ、defaultvalueを消去するsqldatasourceをフィルタリングするためにドロップダウンを使用して以来、私が想定していたヌルだと言います。 – Steve

+0

データソースにフィルタを適用すると、その挿入パラメータが変更されてはなりません。必要な場合は、ドロップダウンの 'SelectedValue'を隠しフィールドに格納する方法もあります。挿入を行うときは、Insert Parameterを非表示フィールドの値に設定します。 – Santi

+0

それは私の最初の考えでしたが、何らかの理由でそれがnullを通過しています。私は隠しフィールドを使用することはできません。なぜなら、insertパラメータは実際にはデフォルトを上書きできるテキストボックスなのでです。それはただ私に考えさせた。テキストボックスが空の場合のデフォルト値はありませんか?セッションvarを設定することもできますが、デフォルト値を設定するためにどのイベントを使用するのか、またはそのテキストボックスを設定するのに問題があるかどうかを調べるのは難しいです。 – Steve

0

サンティ、 応答のおかげで、それはあなたが正しい軌道に乗っていた、私はそれを考えて助けました。私のドロップダウンはセッション変数に値を格納し、次にListViewのItemInsertingのテキストボックスをチェックし、空白の場合はデータソースをセッション変数に設定します。これと同様

Protected Sub ListView1_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewInsertEventArgs) Handles ListView1.ItemInserting 
     If txtCategoryInsert.Text = "" Then 
      SqlDataSource1.InsertParameters("Category").DefaultValue = Session("CatDefault") 
     End If 
    End Sub 
関連する問題