- - PR -
DataGridの値判別
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-10 11:15
一つ確認させてください。
ItemDataBindとはDataGridのイベントでしょうか? プロパティで確認したところ、 DataGinding、ItemCreated、ItemDataBoundといったイベントのみ確認できました。 私自身が検討違いのところを見ているのでしょうか? | ||||||||
|
投稿日時: 2004-02-10 11:18
すいません。 ItemDataBoundが正解です。 | ||||||||
|
投稿日時: 2004-02-10 11:41
ありがとうございます。
ItemDataBoundイベントを使ってやってみました。 一つ思ったのですが、このイベントを用いた場合と Bind後に同じ関数内で処理を行った場合で違いはでますでしょうか? つまり、 private void ○○○() { ・・・・・ DataGrid1.DataBind(); for(int i=0;i<DataGrid1.Item.Count;i++){ if(a == a1) {DataGrid1.Item[i].Cells[1].Text = "A"} else {DataGrid1.Item[i].Cells[1].Text = "AA"} }} と private void ○○○() { ・・・・・ DataGrid1.DataBind(); } private void DataGrid1_ItemDataBound(省略){ for(int i=0;i<DataGrid1.Item.Count;i++){ if(a == a1) {DataGrid1.Item[i].Cells[1].Text = "A"} else {DataGrid1.Item[i].Cells[1].Text = "AA"} }} とでは違いはでますか? 試したところあまり変わらないようなのですが、 コーディングのみで判断すると違いはでますでしょうか? | ||||||||
|
投稿日時: 2004-02-10 11:47
ItemDataBoundは1行毎に発生するイベントなので、 上記のような、ループでまわす必要がありません。 その行についてのみ判断すればいいです。 ちなみに、その行の内容は引数で渡ってきます。 | ||||||||
|
投稿日時: 2004-02-10 11:52
大変失礼致しました。
バカ丸出しですね。 ItemDataBoundイベントとSQL文で行った場合、 果たしてどちらが早いのでしょう。 いろいろ試してみます。 ありがとうございました。 | ||||||||
|
投稿日時: 2004-02-10 12:03
個人的な思惑としては、レイヤを意識した設計を行った場合(つまり、SQLをエンティティ層に隠蔽しビジネスロジックは、ビジネス層でする。)は、SQLで実施するより、オンメモリで実施した方が、都合が良かったりします。 (SQLでやってしまうと、ビジネスロジックがSQLに混在するため。) 何処までSQLで、何処からオンメモリにするかは、人それぞれなので、何とも言えないところなのですが、上手い落としどころが見つかると良いですね。 |