hellow iceman
有一個問題請教一下 ,我在后臺檢查數據類型,如果有錯誤將該行標記為紅色代碼如下:
后臺
//對錯誤的行進行標識
private void seterror(int row, int col, string message)
{
fpsWebRfqDtl.ActiveSheetView.Cells[row, col].Text = message;
fpsWebRfqDtl.ActiveSheetView.Rows[row].BackColor = System.Drawing.Color.Red;
}
用戶在修改錯誤后將該行的紅色去掉,用javascript 和fpsWebRfqDtl_UpdateCommand 可實現代碼如下:
前臺
window.onload = function () {spread2.addEventListener("DataChanged", DataChanged, false);}
function DataChanged() {
//alert("r" + event.row + ",c" + event.col);
fpsWebRfqDtl.UpdatePostbackData();
fpsWebRfqDtl.CallBack("Update");
}
后臺
protected void fpsWebRfqDtl_UpdateCommand(object sender, SpreadCommandEventArgs e)
{
fpsWebRfqDtl.ActiveSheetView.Rows[fpsWebRfqDtl.ActiveSheetView.ActiveRow].BackColor = System.Drawing.Color.White;
}
但是每次調用后臺很卡,很慢, 能不能在前臺僅僅用javascript實現,
我采用另一種,將變顏色的程式全改為前臺
seterror 函數 放到前臺 為changeColor
function changeColor(row, col) {
var spread = this.document.getElementById("fpsWebRfqDtl_viewport");
spread.cells[row].style.backgroundColor = "red";
spread.cells[row].style.color = "red";
} 但是顏色不能變紅, 該如何處理 ,目的實現檢查到錯誤時該行變紅,用戶修改后該行變白 |
|