投稿

6月, 2007の投稿を表示しています

[.NET] "旧形式です" という警告

.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) はじめは、このパラメータを知らなくて空白を除去しようと苦労した。

GridViewのセルの値を取り出す

GridViewの任意のセルから値を引き出したいとき。 たまに忘れていることがある。 GridView2.Rows( 縦番号 ).Cells( 横番号 ).Text 「.ToStrin」ではなく「.Text」。

「GridViewの選択ボタン」との闘い2

テンプレート列にボタンを設置して値を拾おうと考えたのだが、SelectedIndexが「-1」しか返ってこない。 どうも内部的には「選択」されているわけではない模様。 いろいろ調べると、「選択」させるのはあくまで「SelectedIndexChanged」であり、Indexはこのイベントが起こったときにしか取得できない(と思う)。 これを解決するために一番手っ取り早い方法は、テンプレート列に配置してあるボタンのCommandNameを「Select」にしてしまう。こうすると、Selectボタンのイベントを拾うことができ、Indexも取得できる、ということ。 ただ、これをすると今度は列が選択状態になってしまう。 これは、Indexを取得した後、SelectedIndexを「-1」にしてイベントを終えることで対処できる。 対処できるが、ほんとにこれでいいのか…!?

配列の型変換

関数から戻り値を受け取るときに、それが配列だったりすると型変換を変える必要がある。 初歩的な部分であるけれど、一瞬迷った。 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

「GridViewの選択ボタン」との戦い

GridViewにボタンをつけて、選択させるということもよくある。 そこで選択された行に対して、キーを拾うと思うのだが、これが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"にしておかないと、表示されません。 ……当たり前かもしれませんが。

「Officeの個人情報」との闘い

パソコン君の親友、Microsoft Office。 文章を書いたり、表計算をしたり、大忙しです。 でも、このOfficeファイルには、個人情報がたっぷりと保存される仕様になっています。ファイルを右クリックして、プロパティを見ると……。 必要な人しかありがたくない機能をカットする ツール がありました。 こういう部分から、流出したときに足がついちゃったりするのよね。

「SQL Serverの予約語」との闘い

予約語一覧(SQL Server Compact Edition) インポートしたテーブルに「user」っていうのがあってはまった。 こんなにたくさんあったのね。 Management Studioでテーブルを作る時点では、警告が出ない。 でも、取り出そうとするとエラーが出る(SQL文が間違っています、など)。

[Adobe Reader] Updater5 というフォルダは何?

イメージ
マイドキュメントに Updater5 というフォルダがあることに気づく。 調べてみると、どうやら 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")

VB.NETで乱数を発生させる

Dim rnd As New Random(1000) ' 1から3までの乱数(4は含まれないことに注意する) Dim iRnd As Integer = rnd.Next(1, 4)