C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

spreadでのコンボボックス


(過去ログ 59 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■33990 / inTopicNo.1)  spreadでのコンボボックス
  
□投稿者/ おさむ (25回)-(2009/03/16(Mon) 16:15:41)

分類:[.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イベントを追加すればよいのか??

という点です。

どなたか何かしらありましたら宜しく御願いいたします。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -