Next Page

1 2

Previous Page

スレッド: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない

作成日: 08/29/11 09:35 AM

返信: 20

cfnkt


新米


入会日: 08/26/11

投稿数: 15

<cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/29/11 9:35 AM

はじめまして。
自身では解決できないことがありましたので、ご意見をいただきたいと思い投稿させていただきました。


使用しているColdfusionのバージョン:8

<cfgrid>でqueryのデータを表示させ、納期変更のあるデータのみ新規納期欄に日付を入力し、送信ボタンで納期の変更を行うシステムを作成しています。
しかし、修正した件数分の変更が行われていない現象にあっています。
<cfdump var="#form#">でポストされた内容を確認したところ、やはり修正した件数分表示されていませんでした。
どなたかご存知の方がおられれば、ご教授頂けると幸いです。
よろしくお願いいたします。


<cfif IsDefined("qryData")>
<div id="apDiv1">
<cfgrid name="grdData" query="qryData" format="flash" selectmode="edit" pagesize=5
Width="1000" height="450" bgColor ="##e7ecfc,##FFFFFD">
<cfgridcolumn name="JUCH_YMD" header="受注日" select="no" />
<cfgridcolumn name="SHKBA_NM" header="職場名" select="no" />
<cfgridcolumn name="SEHN_SEZO" header="製品コード_製造No" select="no" />
<cfgridcolumn name="SEHN_TOKUISAKI" header="製品名_得意先名" font="MS Pゴシック" select="no" />
<cfgridcolumn name="MIHIKI_JUCHZAN" header="未引当受注残数" select="no" />
<cfgridcolumn name="HKIATE_SU" header="引当数" select="no" />
<cfgridcolumn name="KEKAK_ZAN_SU" header="計画残計_計画残" select="no" />
<cfgridcolumn name="JUCHZAN_SU" header="受注残計_受注残" select="no" />
<cfgridcolumn name="ZAIKO_SU" header="在庫数" select="no" />
<cfgridcolumn name="IDOHEKIN" header="移動平均" select="no" />
<cfgridcolumn name="HKIUKE_YMD" header="最新引受日" select="no" />
<cfgridcolumn name="EIGYO_NOKI" header="営業納期" select="no" />
<cfgridcolumn name="NEW_NOKI" header="新規納期" />
<cfgridcolumn name="SASUGA_SYUKA" header="出荷有無" select="no" />
</cfgrid>
</div>
<div id="apDiv2">
<cfinput type="submit" name="gridupdate" value=" 送 信 " onClick="return flg = confirm('データを送信しますか?');"
style="background-color:##e77c85;">
</div>

<!-----------------------------------------------------------------------------------
送信ボタンクリック時の処理
------------------------------------------------------------------------------------->
<cfif IsDefined("form.gridupdate") is True>
<cftransaction action="begin" isolation="read_committed">
<cfloop index="i" from="1" to="#ArrayLen(form.grdData.rowstatus.action)#"><!---この配列に 'U' 'I' 'D' が入ってる--->
<cfswitch expression="#form.grdData.rowstatus.action[i]#">
<cfcase value="U"><!---Updateの場合--->
<cfquery datasource="seisan" name="updategrid">
UPDATE TBLWK_NOKI_KIKAKHN SET NEW_NOKI = '#form.grdData.new_noki[i]#'
WHERE SEHN_SEZO = #form.grdData.sehn_sezo[i]#
AND ID = '#GetAuthUser()#'
</cfquery>
</cfcase>
</cfswitch>
</cfloop>
</cftransaction>

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/29/11 12:07 PM

ドキュメントに注意書きがありますが、これに当てはまりますか。

注意: グリッドセルの編集中に送信ボタンをクリックすると、セルの変更内容が失われることがあります。変更内容を正しく送信するには、セル内のデータを更新した後に、別のセルをクリックしてからフォームを送信することをお勧めします。

http://help.adobe.com/ja_JP/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7baf.html

もしそうでなく差し支えなければ、<cfform>から</cfform>までのコードを載せてもらえますか。

(44)
* Last updated by: AXL on 8/29/2011 @ 12:08 PM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/29/11 12:27 PM

AXL様、早速のお返事、ありがとうございます。


ご指摘いただいた件ですが、送信する際は別のセルをクリックしてから送信するようにしているのですが、うまくいきません。
例えば、20件変更したとすると、12件しか<cfdump var="#form#">に載ってこないという現象なのです。

<cfform>から</cfform>のコードを記載させていただきます。
何卒よろしくお願いいたします。

<cfform action="" name="frmData" id="frmData" method="post" enctype="multipart/form-data">
<cfif IsDefined("qryData")>
<div id="apDiv1">
<cfgrid name="grdData" query="qryData" format="flash" selectmode="edit" pagesize=5
Width="1000" height="450" bgColor ="##e7ecfc,##FFFFFD">
<cfgridcolumn name="JUCH_YMD" header="受注日" select="no" />
<cfgridcolumn name="SHKBA_NM" header="職場名" select="no" />
<cfgridcolumn name="SEHN_SEZO" header="製品コード_製造No" select="no" />
<cfgridcolumn name="SEHN_TOKUISAKI" header="製品名_得意先名" font="MS Pゴシック" select="no" />
<cfgridcolumn name="MIHIKI_JUCHZAN" header="未引当受注残数" select="no" />
<cfgridcolumn name="HKIATE_SU" header="引当数" select="no" />
<cfgridcolumn name="KEKAK_ZAN_SU" header="計画残計_計画残" select="no" />
<cfgridcolumn name="JUCHZAN_SU" header="受注残計_受注残" select="no" />
<cfgridcolumn name="ZAIKO_SU" header="在庫数" select="no" />
<cfgridcolumn name="IDOHEKIN" header="移動平均" select="no" />
<cfgridcolumn name="HKIUKE_YMD" header="最新引受日" select="no" />
<cfgridcolumn name="EIGYO_NOKI" header="営業納期" select="no" />
<cfgridcolumn name="NEW_NOKI" header="新規納期" />
<cfgridcolumn name="SASUGA_SYUKA" header="出荷有無" select="no" />
</cfgrid>
</div>
<div id="apDiv2">
<cfinput type="submit" name="gridupdate" value=" 送 信 " onClick="return flg = confirm('データを送信しますか?');"
style="background-color:##e77c85;">
</div>
<div id="apDiv8" style="border-style:groove;">
<div id="apDiv7" style="font-size:12px">
<cfinput type="checkbox" name="chk_update" >現状の保存を行う
</div>
<div id="apDiv3">
<cfinput type="submit" name="Print" value=" 印 刷 ">
</div>
<div id="apDiv4">
<cfinput type="submit" name="CSV" value=" C S V ">
</div>
</div>
</cfif>
<div id="apDiv6" class="style1">データ取込
<cfinput type="file" name="file_nm">
<cfinput type="submit" name="Get" value=" 取 込 ">
</div>
</cfform>
* Last updated by: cfnkt on 8/29/2011 @ 1:06 PM *

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/29/11 4:08 PM

cfgrid と cfgridcolum の部分は特に問題(pagesize は query="qryData" としているので効果はありません。bind を変わりに使ってあげれば、pagesize を使って指定できます。)ないみたいですし、それ以下もただの cfinput ですからね。

ColdFusion 8 を使用してるようですが、パッチは最新のものをあてていますか。もしかしたら cfgrid 関係の修正があったかもしれないので。

ColdFusion 8 はないので ColdFusion 9 で簡単にテスト(id, name, date の項目で20個のデータを作り、cfgrid と cfgridcolum で date 部分を一度にすべて更新。 ColdFusion 9 での追加項目使用なし。)してみましたが、問題ありませんでした。

ちなみにテストで使用したコードは、
http://pastebin.com/WjhBwbT0

新規に以下のコードだけのページを作って試してみてください。 何か他の物が干渉しているのかもしれないので。

<cfquery name="qryData" datasource="...">
.......
</cfquery>

<cfif isDefined("form.gridupdate")>
<cfdump var="#form#">
</cfif>

<cfif qryData.recordCount>
<cfform>
<cfgrid name="grdData" query="qryData" format="flash" selectmode="edit"
Width="1000" height="450">
<cfgridcolumn name="JUCH_YMD" header="受注日" select="no" />
<cfgridcolumn name="NEW_NOKI" header="新規納期" select="yes" />
</cfgrid>

<cfinput type="submit" name="gridupdate" value=" 送 信 " />
</cfform>

<cfelse>
データなし
</cfif>

(43)
* Last updated by: AXL on 8/29/2011 @ 4:09 PM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/29/11 5:53 PM

AXL様、お返事とテストまでしていただき、ありがとうございます。


パッチの確認をしたところ、最新のものがあたっていました。
教えていただいたコードで、テストをしたところ20件のデータを変更したところ、20件のデータがポストされていました。
そこで、列の表示数を徐々に増やしていったところ、20件中13件しかポストされない現象にあいました。
送信されるデータの容量の制限等があるのでしょうか?

何卒よろしくお願いいたします。

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/29/11 8:12 PM

前回のテストを format="flash" から format="html" に変えて同じ症状がでるか試してもらえますか。

(42)
* Last updated by: AXL on 8/29/2011 @ 8:13 PM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/30/11 8:53 AM

AXL様、お返事ありがとうございます。

教えていただいた通り、format="html"で試したところ、『送信された cfgrid フォームフィールドは損傷しています 』というエラーがでました。
エラーを回避するためにどうしたらいいのか、調べてみたのですが分かりませんでした。
どのようにしたらいいのでしょうか?

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/30/11 10:39 AM

使用したコードを載せてもらえますか。

(41)
* Last updated by: AXL on 8/30/2011 @ 10:40 AM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/30/11 10:57 AM

AXL様、お返事ありがとうございます。

使用したコードは下記の通りです。
何卒よろしくお願いいたします。

<cfquery name="qryData" datasource="...">
.......
</cfquery>

<!--- 送信処理 --->
<cfif isDefined("form.gridupdate")>
<cfdump var="#form#">
</cfif>


<cfform action="" name="frmData" id="frmData" method="post" enctype="multipart/form-data">
<cfifIsDefined("qryData")>
<div id="apDiv1">
<cfgrid name="grdData" query="qryData" format="html" selectmode="edit"
Width="1000" height="450">
<cfgridcolumn name="JUCH_YMD" header="受注日" select="no" />
<cfgridcolumn name="SHKBA_NM" header="職場名" select="no" />
<cfgridcolumn name="SEHN_SEZO" header="製品コード_製造No" select="no" />
<cfgridcolumn name="SEHN_TOKUISAKI" header="製品名_得意先名" font="MS Pゴシック" select="no" />
<cfgridcolumn name="MIHIKI_JUCHZAN" header="未引当受注残数" select="no" />
<cfgridcolumn name="HKIATE_SU" header="引当数" select="no" />
<cfgridcolumn name="KEKAK_ZAN_SU" header="計画残計_計画残" select="no" />
<cfgridcolumn name="JUCHZAN_SU" header="受注残計_受注残" select="no" />
<cfgridcolumn name="ZAIKO_SU" header="在庫数" select="no" />
<cfgridcolumn name="IDOHEKIN" header="移動平均" select="no" />
<cfgridcolumn name="HKIUKE_YMD" header="最新引受日" select="no" />
<cfgridcolumn name="EIGYO_NOKI" header="営業納期" select="no" />
<cfgridcolumn name="NEW_NOKI" header="新規納期" />
<cfgridcolumn name="SASUGA_SYUKA" header="出荷有無" select="no" />
</cfgrid>
</div>

<div id="apDiv2">
<cfinput type="submit" name="gridupdate" value=" 送 信 " onClick="return flg = confirm('データを送信しますか?');"
style="background-color:##e77c85;">
</div>
</cfif>
</cfform>
* Last updated by: cfnkt on 8/30/2011 @ 11:00 AM *

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/30/11 1:10 PM

提示したコードではテストされなかったみたいですね。
こういう時はできるだけ余分なコードは省いてテストした方が、原因を見つけやすいと思うんですが。

cfgrid で format が flash の時は enctype は使えるみたいですが、html だとサポートされていないみたいです。

詳細はtype属性欄を。
http://help.adobe.com/ja_JP/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7f51.html

なのでそのようなエラーが出たのかもしれません。 enctype の部分を削除すれば問題ないと思いますが。

(40)

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/30/11 2:03 PM

AXL様、お返事ありがとうございます。

おっしゃってるコードは http://pastebin.com/WjhBwbT0 ですよね?
接続をしようとしたのですが、「ページを開けません」というエラーが出たため、下に書かれていたコードを使用して列を徐々に増やしてテストをしていました。気分を害されたらすみません。

enctypeを省くと、『送信された cfgrid フォームフィールドは損傷しています 』というエラーは表示されなくなりましたが、修正した全ての件数がポストされていませんでした。

列数を減らすなど、コードをもっと簡素化して原因を追及したいと思います。
何か他に思い当たることがございましたら、ご教授いただけますと幸いです。
よろしくお願いいたします。
* Last updated by: cfnkt on 8/30/2011 @ 2:04 PM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/30/11 2:11 PM

AXL様、お返事ありがとうございます。

おっしゃっているコードは
http://pastebin.com/WjhBwbT0
のページのコードですか?接続しようとしたのですが、「ページを開けません」というエラーが出たため、下に記載されていたコードを使用して、列数を増やしながらテストをしていました。
気分を害されたらすみません。

enctypeを省くと、『送信された cfgrid フォームフィールドは損傷しています 』というエラーが出なくなりましたが、修正した全ての件数は、ポストされていませんでした。

AXL様のおっしゃる通り、列数を減らすなどコードを簡素化し、原因を追及したいと思います。
他に何か思い当たることがございましたら、ご教授いただけると幸いです。
よろしくお願いいたします。

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/30/11 2:49 PM

pastebin のコードは、そちらで使用されているデータがこちらにはないので、簡易的に作ったものを元にしてこちらでテストに使用したものなので、
下に書いたコードを使用して頂いたのは正解です。

-------------------------------------------------------
新規に以下のコードだけのページを作って試してみてください。 何か他の物が干渉しているのかもしれないので。

<cfquery name="qryData" datasource="...">
.......
</cfquery>

<cfif isDefined("form.gridupdate")>
<cfdump var="#form#">
</cfif>

<cfif qryData.recordCount>
<cfform>
<cfgrid name="grdData" query="qryData" format="flash" selectmode="edit"
Width="1000" height="450">
<cfgridcolumn name="JUCH_YMD" header="受注日" select="no" />
<cfgridcolumn name="NEW_NOKI" header="新規納期" select="yes" />
</cfgrid>

<cfinput type="submit" name="gridupdate" value=" 送 信 " />
</cfform>

<cfelse>
データなし
-----------------------------------------------------

"列を徐々に増やしてテストをしていました。" と言うのは、提示したコードに追加をしたということですか。

前にも、"列の表示数を徐々に増やしていったところ、20件中13件しかポストされない現象にあいました。" とありましたが、"列"とおっしゃたのでこちらではグリッドのデータの更新の数を指しているものと思っていました。

もし cfgridcolumn の追加のことを指しているのなら、追加した cfgridcolumn のデータを調べてみてください。
その項目を追加したときだけに起こるのかどうか分かれば、原因究明に一歩近づけますからね。

(39)
* Last updated by: AXL on 8/30/2011 @ 2:51 PM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/30/11 4:33 PM

AXL様、お返事ありがとうございます。


列の追加と以前に書きましたが、それはcfgridcolumnを追加したということです。表現が悪くてすみません。

cfgridcolumnを追加しながら、ポストされる件数を確認していたところ、「受注日,職場名」を含むと20件中16件しかポストされませんでした。
しかし、「受注日,職場名」に取り立てて変なデータは存在せず、今度は「受注日,職場名」を含むようにテストを行ってみました。
すると、「受注残計_受注残,在庫数,移動平均,最新引受日,営業納期」を含むと20件中18件しかポストされませんでした。

試しに、cfgridcolumnを追加せずに教えていただいたコードのみで、修正する件数を増やすとどうなるか調べてみました。
結果:50件を修正→50件のデータがポストされていました。
   100件を修正→83件のデータがポストされていました。

どうしてこのようなことが起こるのか検討がつきません。
お力をお貸しください。

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/30/11 10:32 PM

実際のデータを使ってテストしてみたいので、もし可能でしたらサイトのプライベート機能を利用して使用されているテーブルの20件のデータ(エラーの確認には十分みたいなので)を.sqlファイルでエクスポートして、その内容を載せてもらえますか。もし重要なデータがある場合は何か適当なものに置き換えてもらって結構です。その場合は、同様な症状が出るかどうか再確認してください。

その後通常通りのコメントでプライベートメッセージの有無を知らせてもらえればたぶん確認できると思うので。

(38)
* Last updated by: AXL on 8/30/2011 @ 10:33 PM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/31/11 9:19 AM

AXL様、お返事ありがとうございます。

ひとつ質問ですが、『.sqlファイルでエクスポートして~』と記載されているのですが、どういったことをしたらいいのでしょうか?

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/31/11 10:36 AM

どのデータベースを使用されているのか分かりませんが、そちらのデータをこちらのデータベースにインポートしてテストしたいので、そちらのデータ(20件ほど)を.sql形式のファイルとしてデータベースからエクスポートしてその内容(中身)を載せて頂ければ、こちらでそれを元に.sqlを生成してこちらのデータベースにインポートしてテストすることができるので。

(37)
* Last updated by: AXL on 8/31/2011 @ 10:37 AM *

Link | Top | Bottom

cfnkt


新米


入会日: 08/26/11

投稿数: 15

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
08/31/11 10:47 AM

AXL様、お返事ありがとうございます。

プライベートメッセージでテスト用のデータを送らせていただきました。
確認できましたでしょうか?

表示に使用しているSQLは下記の通りとなります。
何卒よろしくお願いいたします。

<!--- 表示データ --->
<cfquery datasource="seisan" name="qryData">
SELECT to_char(JUCH_YMD,'yyyy/mm/dd') JUCH_YMD
     ,SHKBA_NM
,SEHN_SEZO
,SEHN_TOKUISAKI
,MIHIKI_JUCHZAN
,HKIATE_SU
,KEKAK_ZAN_SU
,JUCHZAN_SU
,ZAIKO_SU
,IDOHEKIN
,to_char(HKIUKE_YMD,'yyyy/mm/dd') HKIUKE_YMD
,EIGYO_NOKI
,J1
,J2
,J3
,J4
,J5
,J6
,to_char(NEW_NOKI,'yymmdd') NEW_NOKI
,ID
,SASUGA_SYUKA
FROM TBLWK_NOKI_KIKAKHN
WHERE ID = 'abcd01'
ORDER BY
J1 ASC,
J2 ASC,
J3 ASC,
J4 asc,
J5 asc,
J6 ASC
</cfquery>

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: &lt;cfgrid&gt;でポストされたデータの件数が、修正された件数分表示されない
08/31/11 11:07 PM

状況確認しました。何か分かり次第報告させてもらいます。

(36)
* Last updated by: AXL on 8/31/2011 @ 11:07 PM *

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: <cfgrid>でポストされたデータの件数が、修正された件数分表示されない
09/01/11 6:18 PM

いろいろ試してみたんですが、原因はどうも日本語のデータにあるようです。
日本語の場合、ext と ColdFusion のやり取りに何か問題があるように思います。

使用されているテーブルの日本語のデータを含むカラム "SHKBA_NM" "SEHN_TOKUISAKI" "SASUGA_SYUKA" を cfgridcolumn から除いてあげると問題ないみたいです。format="flash" を使用の場合はですけど。

format="html" は 重大なバグがあるみたいで表示用なら問題ないみたいですが、今回のようにアップデートする場合には実用的ではありませんでした。

なので推奨する対処法としては、cfgridcolumn で日本語のカラムを表示しない。あるいは cfgridcolumn でどうしても必要な場合はカラムのデータを英語に変更するなどです。

Link | Top | Bottom

Next Page

1 2

Previous Page

新規投稿

ログイン して返信して下さい。