.NET Framework 1.1 から .NET Framework 2.0 へ移行し、古いソースを移植しようとしたときにたびたび出る「旧形式です」。これを見るたび、勝手に変えるなよな~、と思ってしまいますが、まぁそれはそれとして変更していくしかないですね。
SqlCommandのコレ
.Parameters.Add
↓
.Parameters.AddWithValue
Web.configから値を引っ張ってくるときにとくにハマる
ConfigurationSettings.AppSettings(" key ")
↓
ConfigurationManager.AppSettings(" key ")
「Splitメソッド」との闘い
StringクラスにあるSplitメソッド。
.NET Framework 2.0から追加されたのだが、これが便利すぎる。
複数検索機能拾を作るときには必需品なのだが、この第2パラメータが超絶便利。
None 空白を含める
RemoveEmptyEntries 空白を含めない
' 文字列
Dim keywords As String
Dim words() As String
' 分割
words = keywords.Split(splitKey, StringSplitOptions.RemoveEmptyEntries)
はじめは、このパラメータを知らなくて空白を除去しようと苦労した。
.NET Framework 2.0から追加されたのだが、これが便利すぎる。
複数検索機能拾を作るときには必需品なのだが、この第2パラメータが超絶便利。
None 空白を含める
RemoveEmptyEntries 空白を含めない
' 文字列
Dim keywords As String
Dim words() As String
' 分割
words = keywords.Split(splitKey, StringSplitOptions.RemoveEmptyEntries)
はじめは、このパラメータを知らなくて空白を除去しようと苦労した。
GridViewのセルの値を取り出す
GridViewの任意のセルから値を引き出したいとき。
たまに忘れていることがある。
「.ToStrin」ではなく「.Text」。
たまに忘れていることがある。
GridView2.Rows( 縦番号 ).Cells( 横番号 ).Text
「.ToStrin」ではなく「.Text」。
「GridViewの選択ボタン」との闘い2
テンプレート列にボタンを設置して値を拾おうと考えたのだが、SelectedIndexが「-1」しか返ってこない。
どうも内部的には「選択」されているわけではない模様。
いろいろ調べると、「選択」させるのはあくまで「SelectedIndexChanged」であり、Indexはこのイベントが起こったときにしか取得できない(と思う)。
これを解決するために一番手っ取り早い方法は、テンプレート列に配置してあるボタンのCommandNameを「Select」にしてしまう。こうすると、Selectボタンのイベントを拾うことができ、Indexも取得できる、ということ。
ただ、これをすると今度は列が選択状態になってしまう。
これは、Indexを取得した後、SelectedIndexを「-1」にしてイベントを終えることで対処できる。
対処できるが、ほんとにこれでいいのか…!?
どうも内部的には「選択」されているわけではない模様。
いろいろ調べると、「選択」させるのはあくまで「SelectedIndexChanged」であり、Indexはこのイベントが起こったときにしか取得できない(と思う)。
これを解決するために一番手っ取り早い方法は、テンプレート列に配置してあるボタンのCommandNameを「Select」にしてしまう。こうすると、Selectボタンのイベントを拾うことができ、Indexも取得できる、ということ。
ただ、これをすると今度は列が選択状態になってしまう。
これは、Indexを取得した後、SelectedIndexを「-1」にしてイベントを終えることで対処できる。
対処できるが、ほんとにこれでいいのか…!?
配列の型変換
関数から戻り値を受け取るときに、それが配列だったりすると型変換を変える必要がある。
初歩的な部分であるけれど、一瞬迷った。
まぁ、CStr()なんて使わなきゃいいのかもしれないけど。
初歩的な部分であるけれど、一瞬迷った。
NG
Dim key() As String
key = CStr( procedure)
OK
Dim key() As String
key = CType( procedure , String())
まぁ、CStr()なんて使わなきゃいいのかもしれないけど。
「テンプレート列」との闘い
テンプレート列にテキストボックスを配置し、その値を取り出すには以下のようにする。
この場合は、テキストボックスの値を拾う。戻りは文字列型。
... = CType(GridView1.FooterRow.FindControl(" ID "), TextBox).Text
この場合は、テキストボックスの値を拾う。戻りは文字列型。
... = CType(GridView1.FooterRow.FindControl(" ID "), TextBox).Text
「GridViewの選択ボタン」との戦い
GridViewにボタンをつけて、選択させるということもよくある。
そこで選択された行に対して、キーを拾うと思うのだが、これがDataGridとは多少変わっていた。
他にやり方があるのかもしれないけど、とりあえずこれで対処。
そこで選択された行に対して、キーを拾うと思うのだが、これがDataGridとは多少変わっていた。
DataGrid
e.Item.Cells(0).Text
GridVIew
GridView1.Rows(CInt(e.CommandArgument)).Cells(0).Text
他にやり方があるのかもしれないけど、とりあえずこれで対処。
「GridViewのフッターに合計値」との闘い
かなりよくある要望。
こちらのサイトにて万事解決。
http://akiokasai.qsh.eu/samples/060713-1.aspx
合計だけではなく、平均も出せます。
GridViewの「showfooter」プロパティを"true"にしておかないと、表示されません。
……当たり前かもしれませんが。
こちらのサイトにて万事解決。
http://akiokasai.qsh.eu/samples/060713-1.aspx
合計だけではなく、平均も出せます。
GridViewの「showfooter」プロパティを"true"にしておかないと、表示されません。
……当たり前かもしれませんが。
「Officeの個人情報」との闘い
パソコン君の親友、Microsoft Office。
文章を書いたり、表計算をしたり、大忙しです。
でも、このOfficeファイルには、個人情報がたっぷりと保存される仕様になっています。ファイルを右クリックして、プロパティを見ると……。
必要な人しかありがたくない機能をカットするツールがありました。
こういう部分から、流出したときに足がついちゃったりするのよね。
文章を書いたり、表計算をしたり、大忙しです。
でも、このOfficeファイルには、個人情報がたっぷりと保存される仕様になっています。ファイルを右クリックして、プロパティを見ると……。
必要な人しかありがたくない機能をカットするツールがありました。
こういう部分から、流出したときに足がついちゃったりするのよね。
「SQL Serverの予約語」との闘い
予約語一覧(SQL Server Compact Edition)
インポートしたテーブルに「user」っていうのがあってはまった。
こんなにたくさんあったのね。
Management Studioでテーブルを作る時点では、警告が出ない。
でも、取り出そうとするとエラーが出る(SQL文が間違っています、など)。
インポートしたテーブルに「user」っていうのがあってはまった。
こんなにたくさんあったのね。
Management Studioでテーブルを作る時点では、警告が出ない。
でも、取り出そうとするとエラーが出る(SQL文が間違っています、など)。
[Adobe Reader] Updater5 というフォルダは何?
マイドキュメントに Updater5 というフォルダがあることに気づく。
調べてみると、どうやら Adobe Reader 8.0 がアップデート用の一時ファイル置き場として使っているとのこと。

ファイルの保存先を変更すれば、自動的に作られる (マイドキュメントに) ことはなくなるようだ。
調べてみると、どうやら Adobe Reader 8.0 がアップデート用の一時ファイル置き場として使っているとのこと。

ファイルの保存先を変更すれば、自動的に作られる (マイドキュメントに) ことはなくなるようだ。
Cache メンバ
' キャッシュに値を入れる
Cache.Insert("1", "テスト")
Cache("1") = "テスト1"
' キャッシュの取り出し
Cache.Item("1")
Cache.Get("1")
xxxx = Cache("1")
' キャッシュの数(数値型で戻す)
Cache.Count
' キャッシュの削除
Cache.Remove("1")
Cache.Insert("1", "テスト")
Cache("1") = "テスト1"
' キャッシュの取り出し
Cache.Item("1")
Cache.Get("1")
xxxx = Cache("1")
' キャッシュの数(数値型で戻す)
Cache.Count
' キャッシュの削除
Cache.Remove("1")
VB.NETで乱数を発生させる
Dim rnd As New Random(1000)
' 1から3までの乱数(4は含まれないことに注意する)
Dim iRnd As Integer = rnd.Next(1, 4)
登録:
投稿 (Atom)