スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Javascriptのオブジェクトをテキスト形式で記述するJSON記法について


JSONとは、JavaScript Object Notationの略であり、
Javascriptのオブジェクトをテキスト形式で記述し、
テキスト形式であるが故に軽量にデータ交換を行うことができるフォーマットである。

JSONについて:
JSON

JavascriptにおいてJSONを使用するためのライブラリも提供されている。
ここでは、C#においてオブジェクトをJSON記法を用いて変換する方法を紹介する。

続きを読む

スポンサーサイト

同じSqlCommandにExecuteReaderを続けて実行するとエラーになる


C#を使ってDBアクセスをするコードを書く事に慣れている方なら当たり前のことかもしれないが、
SqlCommandを使った処理でちょっと嵌ってしまったので、
回避策を記録しておく。

C#でDBアクセスするときに、SqlCommandクラスを使って処理をすることがよくあると思うが、
このSqlCommandクラスのインスタンスに対してExecuteReaderを複数回実行するとエラーになってしまう。

参考記事:
Re[2]: ExecuteReaderでエラーがでます

ここを読む限り、Connectionを分けるしかないと思われる。
実際、以下のようにSQL文ごとにConnectionを分ければ問題なく実行できた:



C#での現在日付、現在時刻を取得する


C#で現在日付、現在時刻を取得するには、
DataTimeクラスのプロパティである、Today, Nowが使用できる。
それらに対するToStringメソッドを使用することで、
日付、時刻を任意の形式に変換することもできる。

以下のように使用する:


参考サイト:
[C#]今日の日付をString型で取得するには? « 技術者派遣の技術日誌ブログ


GridView中のどの行のLinkButtonが押下されたかを知る方法(2)


GridView中のどの行のButtonが押下されたかを知る方法(1)の続き。
GridView中のどの行のButtonが押下されたかを知る方法(1)ではButtonFieldを使用して、
タグのOnRowCommandに指定したメソッドのパラメータとして
行番号が渡ってくるのを利用したが、
ButtonFieldのTextが固定値ではなく、例えばDBからのSELECT結果をBindさせたいときなどに
行番号がうまく渡らなかった。

そこで、GridView中のどのButtonが押下されたかを知る方法の2つ目として、
ButtonFieldを用いて、<asp:GridView>タグのOnSelectedIndexChangedイベントで
行番号を取得する方法を紹介する。

GridViewは以下のように記述する:

ButtonFieldコントロールを使用しているのは同じだが、
DataTextFieldにBind時に使用する文字列(SQLでのカラム名とか)を指定している。
また、<asp:GridView>タグのOnSelectedIndexChangedイベントのメソッド名を指定し、
GridViewのキーとなるカラム名をDataKeyNames="COLUMN1"で指定している。

コードビハインドのC#でOnSelectedIndexChangedに
指定したメソッド:SelectIndexChangedの処理を以下のように記述する:

GridView1.SelectedIndexからButtonを押下した行番号を取得することができる。


GridView中のどの行のButtonが押下されたかを知る方法(1)


GridViewの中にButtonを配置しても、
そのままではどの行のButtonが押下されたのかを知ることができない。

どの行が押下されたかを知るにはいくつかの方法があると思われるが、
そのうちの一つが、ButtonをGridViewに備わっているButtonFieldで実現する方法。

ButtonFieldをこのように定義し、
そのクリックのイベントのメソッド名を、
<asp:GridView>タグの属性OnRowCommandで指定する。

コードビハインドのC#でOnRowCommandに指定したメソッド:PopupLinkButton_Clickの処理を以下のように書くと、
その引数のCommandEventArgsに行番号が渡ってくる。

後はこの行番号を使って、GridViewから値を取得して処理を記述すればOK.

そのほかの方法はこちら:
GridView中のどの行のLinkButtonが押下されたかを知る方法(2)

参考サイト:
GridViewのButtonコントロールにバインドされているテキストの取得について


GridViewで同一列内のセルを結合する方法


GridViewで同一列内で同じ値を持つセルを結合する方法について。
実現したかったのは、以下のようなこと:
・GridViewの先頭から数列のセルを結合した状態にする
・結合するかどうかの判定に使われる列は、そのうちの一部の列

参考にしたのはこの辺り:
@IT:.NET TIPS [ASP.NET]DataGridコントロールの同一列内のセルを結合するには? - C# Webフォーム
GridView でセルを結合する方法 - アジャイルプログラマの日常

前者は同一列内でしか値が同じかどうかを見ておらず、
「複数列の値の組み合わせが同じ場合にセルを結合する」というのができない。
また、後者は一般的になりすぎていて、
今回実現したいことにとっては少々オーバースペックかなと。

そこで、以下のような感じで実装してみた。

続きを読む


GridViewのRowStateについての補足


あるシステム屋による開発の記録  GridViewのヘッダにCheckBoxを配置し、全選択/全選択解除を切り替える
に関連して。
GridViewのRowStateについて。

GridViewのRowStateには、
・Alternate
・Edit
・Normal
・Selected
の4つがある。

GridViewRow.RowState プロパティ (System.Web.UI.WebControls)
# 余談だが、このページをIE6で、お気に入りを表示した状態で見ると、画面が崩れる。。。

GridViewのCommandoFieldを使って編集(Edit)、選択(Selected)の状態にしたり
それを解除したりするには問題ないが、
http://javasystem.blog4.fc2.com/blog-entry-419.htmlのように自前で作ったチェックボックスを使って
手動でSelectedと非Selectedを切り替えたりするときには、ちょっと注意が必要で、
奇数列にはAlternate、偶数列にはNormalを設定する必要がある。




C#でChartコントロールを使って円グラフを描く


[ASP.NET編はこちら:(1) -導入-(2) -具体例-]
[準備としてこちらを行う:ChartコントロールをコードビハインドのC#から利用する]

C#でChartコントロールを使ってグラフを描くこともできる。

作成したChartコントロールをはめ込むため、
ASP.NET側で以下のようにdivタグの領域を作成しておく:

で、C#側で以下のように書くと、
C#で作成したChartコントロールを上記divタグ内にはめ込むことができる:

各項目の説明は、こちら参照。
さらに、以下の設定を行っている。
・series["PieStartAngle"]で、円グラフの開始位置を指定
 ※ 0~360で指定することができ、270で時計の0時の位置から開始の設定となる。


ChartコントロールをコードビハインドのC#から利用する


ASP.NETでChartコントロールを使って円グラフを描く (1) -導入-
ASP.NETでChartコントロールを使って円グラフを描く (2) -具体例-
で記述したようなChartコントロールをコードビハインドのC#から利用しようとしても、
ほかのコントロールのように、

などを記述しても使えるようにならない。

ChartコントロールをC#するには、以下を記述する必要がある:


後は普通のコントロールと同じで、以下のような感じで利用できる:




DataTableの行・列を入れ替えるサンプルコード


DBレイアウトと画面レイアウトがうまくマッチしていない場合、
まず考えるべきはそれらがマッチするようにどちらかを変更することだと思う。
それが諸々の理由で難しい場合に、
プログラムの中で何とかしようと考える。

ここでは、C#でDBから取り出したDataTableの行と列を入れ替えることで
画面レイアウトにマッチするようになるケースを想定し、
C#でDataTableの行と列を入れ替えるコードを紹介する。

以下のメソッドにDataTableのインスタンスを引数として渡すことで、
引数のDataTableの第一列の値を戻り値の列名に、
引数のDataTableの列名を戻り値の第一列に設定して
行と列を入れ替えたDataTableを返してくれる。


Adsense
ブログ内検索
カテゴリー
最近の記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
feedmeter & あわせて読みたい
フィードメーター - あるシステム屋によるJava開発の記録
あわせて読みたいブログパーツ
プロフィール

kamii

Author:kamii
ピタゴラスイッチ好きなシステム開発屋@二児の父です。

メールフォーム

名前:
メール:
件名:
本文:

カウンター
checker
ページランク


ブログチャート
現在時刻
全エントリ表示

全てのエントリを表示する

RSSフィード
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。