Sigma Grid を使い始めたばかりですが、他のグリッドと比較すると、その機能は素晴らしいものです。
しかし、Sigma Grid で問題が発生したか、javascript で問題が発生した可能性があります。問題がグリッドにあるのか、コードにあるのかわかりません。
MailID、MailName、MailData という 3 つのフィールドを持つテーブルがあります。
MailID は int 、MailName であり、MailData には HTML コンテンツが含まれており、データベースに文字列として保存されます。
グリッドをロードすると、いくつかの問題が発生します。
問題 1 :
上で述べたように、Maildata には html コンテンツが含まれています。次の画像は <*b> を使用した例にすぎません。HTML がグリッド自体に自動的にレンダリングされていることがわかります。正確な文字列が必要です。
次の画像を確認してください。
問題 2 :
ご覧のとおり、グリッド上に編集、送信、削除用のリンクがありますが、1 つのファイルが破損しています。[下の画像を確認してください]
リンクをレンダリングするために使用したコードは次のとおりです。
{id: 'mailid' , header: "Action", width :120 , resizable : false, sortable : false , printable : false ,
renderer : function(value ,record,columnObj,grid,colNo,rowNo){
var no= record[columnObj.fieldIndex];
var cod = (record['maildata']);
return '<a href=\"#\" class=\"myli\" onClick="showalert('+no+');">Edit</a> | <a href=\"#\" onClick=\"alert('+cod+')\";>Send</a> | <a href=\"#\">Delete</a>';
問題 3 :
MailData の 3 番目の値は 5 で、整数です。値を警告すると、正しく表示されます。次の画像を確認してください。
しかし、maildata の 2 番目の値を警告すると、エラーが発生し、MailData の 2 番目の値は "hai newuser" になり、firebug で次のエラーが表示されます。
missing ) after argument list
alert(hai newuser)
下の画像を確認してください。
しかし、MailData の 9 番目の値を警告すると、正しく実行されます。内容は < b>poy< /b> で、これも文字列として保存されますが、グリッドは自動的に BOLD [好きではない] です。下の画像を確認してください。
また、値に ;".: など、/b が含まれているものもあります。データにアラートを出すと、次のエラーが表示されます。
unexpected end of XML source
alert(<b>jjfdslkdjflsdnfsldfnf
dsOptions と ColOptions は次のとおりです。
var dsOption= {
fields :[
{name : 'mailid' },
{name : 'mailname',type:"text" },
{name : 'maildata',type:"text" }
],
recordType : 'object',
}
function my_renderer(value ,record,columnObj,grid,colNo,rowNo)
{
var no= record[columnObj.fieldIndex];
return "<img src=\"./images/flag_" + no.toLowerCase() + ".gif\">";
}
function showalert(no)
{
$(document).ready(function()
{
$.post("http://localhost/power/index.php/power/give",{ name: no}, function(data)
{
//alert("Data Loaded: " + data);
$("#editor").show("fast");
$( '#txtar' ).ckeditor();
$('#txtar' ).val( data.maildata );
//$("#editor").html(data);
},"json"
);
});
}
var colsOption = [
{id: 'mailid' , header: "Mail ID" , width :60},
{id: 'mailname' , header: "Mail Name" , width :160 ,type:"text"},
{id: 'maildata' , header: "Mail Data" , width :190,type:"text" },
{header: "Group" , width :70,
editor : { type :"select" ,options : {'php':'php','asp':'asp'}
,defaultText : 'php' } },
{id: 'mailid' , header: "Action", width :120 , resizable : false, sortable : false , printable : false ,
renderer : function(value ,record,columnObj,grid,colNo,rowNo){
var no= record[columnObj.fieldIndex];
var cod = (record['maildata']);
return '<a href=\"#\" class=\"myli\" onClick="showalert('+no+');">Edit</a> | <a href=\"#\" onClick=\"alert('+cod+')\";>Send</a> | <a href=\"#\">Delete</a>';
} }
];
私は Javascript と Sigmagrid に少し慣れていませんが、コードで最悪のことをしていると思います。pls は私が成功するのを助けてくれます。
ありがとうございました。
注:Sigma Grid Forumにも同じ質問を投稿しましたが、問題はないと思います。