私のプロジェクトでは、Setinterval を使用して、Excel シートのデータベースへのインポート ステータスを表示しています。つまり、Excelsheet に 100 レコードが含まれている場合、ステータス メッセージは、Row 1 0f 100 Rows Inserted Row 2 of 100 Rows Inserted..
ただし、行に空の値が含まれている場合は、エラーの詳細を取得して、それもステータス メッセージに追加する必要があります。したがって、いくつかの問題で機能します。
私のjavascript関数は次のとおりです。
function ImportFormSuccess(taskId) {
endform();
Tid = taskId;
try {
intervalId = setInterval(function () {
$.ajax(
{
type: "POST",
url: rootDir + "Import/Progress",
data: { id: Tid },
success: function (data) {
if (data.split(',').length > 1) {
ErrorMessage = ErrorMessage + data.split(',')[1] + "<br/>";
updateMonitor();
}
else {
Message = data;
updateStatus();
}
}
});
}, 100);
}
catch (err) {
txt = "Error Description" + err.Message + "</br>";
txt += "Click Ok to Continue. . .";
alert(txt);
}
function updateMonitor() {
$('#monitors').attr("class", "");
$("#monitors").html(Message + "<br/>" + ErrorMessage);
}
function updateStatus() {
$('#status').attr("class", "");
$("#status").html(Message);
}
ビュー コードは次のとおりです。
<div id="monitors" style="padding: 2px;width:500px;height:150px;overflow:auto;border:1px solid;></div>
プロジェクトを実行してインポート手段を開始すると、次のように表示されます。
Row 5 Insert Failed. Row Contains Empty Value
Row 5 Insert Failed. Row Contains Empty Value
Row 5 Insert Failed. Row Contains Empty Value
Row 5 Insert Failed. Row Contains Empty Value
Row 7 Insert Failed. Row Contains Empty Value
Row 7 Insert Failed. Row Contains Empty Value
Row 7 Insert Failed. Row Contains Empty Value
Row 7 Insert Failed. Row Contains Empty Value
Row 10 Insert Failed. Row Contains Empty Value
Row 10 Insert Failed. Row Contains Empty Value
Row 10 Insert Failed. Row Contains Empty Value
Row 10 Insert Failed. Row Contains Empty Value
Row 15 Insert Failed. Row Contains Empty Value
Row 15 Insert Failed. Row Contains Empty Value
Row 15 Insert Failed. Row Contains Empty Value
しかし、一度だけ印刷する必要があります..つまり、
Row 5 Insert Failed. Row Contains Empty Value
Row 7 Insert Failed. Row Contains Empty Value
Row 10 Insert Failed. Row Contains Empty Value
Row 15 Insert Failed. Row Contains Empty Value
助けて?