|
分類:[.NET 全般]
分類:[.NET 全般]
環境:asp.net コンポーネント:spread
お世話になります。
現在spreadを使用し、データを表示しています。 dbにアクセスしspreadにデータをバインドし、
Dim ns As New FarPoint.Web.Spread.NamedStyle("ns") Dim cb As New FarPoint.Web.Spread.ComboBoxCellType cb .DataSource = Db.dbAccsess(strSql) cb .DataTextField = "user_Name" cb .DataValueField = "user_Code" cb .ShowButton = True ns.CellType = cb
等を記述し、特定列のデータをコンボボックスで表示することは出来ました。 さらにこのコンボボックスコントロールにJavaScriptを記述しonChangedイベントを取得し、クライアント側で処理を行いたいのですが、どのようにコンボボックスコントロールにJavaScriptを追加すれば良いのかが分かりません。
spreadの各セルに対しては function pageLoad(){ spread.onkeyup = checkSpread // spreadはcontrolID } function checkSpread () { var row = spread.ActiveRow; var col = spread.ActiveCol; var x = spread.GetValue(row,col) ・・・・ }
等で各セルに表示(入力)しているデータの正否チェック等は行えているのですが、 コンボボックス列のvalue値を取得しようとしたところ、 上記で(Dim cb As New FarPoint.Web.Spread.ComboBoxCellType)で指定したcb.DataTextFieldの値をvalue値(user_Name)として取得してしまいます。※htmlソースで確認したところ各オプションのvalue値にもuser_Nameが入っていました。ただ、vb上(サーバ上ではcb.DataValueField(user_Code)の値がGetValueで取得できます。
長々と書いていますが、 疑問点としては: ・なぜコンボボックス作成時にDataTextFieldに指定したフィールドがクライアント側ではvalue値となってしまっているのか?? と、 解決の糸口すらつかめていないのは: ・コンボボックスコントロールにどのようにonChangeイベントを追加すればよいのか??
という点です。
どなたか何かしらありましたら宜しく御願いいたします。
|