데이터가 하나 있을 때 데이터를 지우고 다시 로드하면 지운 데이터가 사라지지 않는 현상이 있다.
두개 이상일 때는 정상인데 하나 일 때만 이런 형상이 있어 하기와 같이 초기화를 시켜주면 된다.
function fnGetProductAccessoryOrderRemark() {
var ProductAccessoryOrderM_Idx = "<%=EncryptKey(this.GetKeyId())%>"; // 제품장비/악세사리 주문 마스터 테이블 일련번호
var items = [
{
PRODUCTACCESSORYORDERM_IDX: ProductAccessoryOrderM_Idx
}
];
var options = {
type: "POST",
url: "<%= HttpContext.Current.Request.Url.AbsolutePath %>/GetProductAccessoryOrderRemarkList",
data: "{'items':" + JSON.stringify(items) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (response) {
if (response.d != "") {
var parsed = JSON.parse(response.d);
if (parsed != null) {
fntProductAccessoryOrderRemark(parsed);
}
}
else {
fntProductAccessoryOrderRemark("");
}
},
error: function (msg) { fntProductAccessoryOrderRemark(""); alert(msg.d); },
};
jQuery.ajax(options);
}
function fntProductAccessoryOrderRemark(parsed) {
var rHelperCar;
rHelperCar = void 0;
// dataTable 초기화
var table = $('#tableProductAccessoryOrderRemark').DataTable();
table.clear().draw();
$('#tableProductAccessoryOrderRemark').DataTable({
"bDestroy": true,
"bPaginate": false,
"bFilter": false,
"bInfo": false,
"order": [],
data: parsed,
columns: [
{ data: 'ProductAccessoryOrderRemark_Idx' },
{ data: 'Remark' },
{ data: 'UserNm' },
{ data: 'RegDate' }
],
"columnDefs": [
{
"targets": [ 0 ],
"visible": false
}
],
preDrawCallback: function () {
if (!rHelperCar) {
rHelperCar = new ResponsiveDatatablesHelper($('#tableProductAccessoryOrderRemark'), breakpointDefinition);
}
},
rowCallback: function (nRow, aData) {
rHelperCar.createExpandIcon(nRow);
// Row 클릭 이벤트
$(nRow).on('click', function() {
fnProductAccessoryOrderRemarkCreate(aData['ProductAccessoryOrderRemark_Idx']);
});
},
drawCallback: function (oSettings) {
rHelperCar.respond();
}
});
// 비고 그리드 cursor
$("#tableProductAccessoryOrderRemark tr").css('cursor', 'pointer');
}
.cs
using System.Web.Script.Serialization;
[System.Web.Services.WebMethod]
public static string GetProductAccessoryOrderRemarkList(object items)
{
if (HttpContext.Current.Session["UserId"] == null) return "";
string result = string.Empty;
// 리스트 형식
List<object> lstItems = new JavaScriptSerializer().ConvertToType<List<object>>(items);
for (int i = 0; i < lstItems.Count; i++)
{
Biz.FW.FWXmlAutoBiz oBiz = null;
Hashtable ht = new Hashtable();
DataSet dsData = null;
foreach (KeyValuePair<string, object> kvp in (IEnumerable)lstItems[i])
{
if (kvp.Key == "PRODUCTACCESSORYORDERM_IDX")
ht.Add(kvp.Key, DecryptKey(kvp.Value, true));
else
ht.Add(kvp.Key, kvp.Value.ToString());
}
oBiz = new Biz.FW.FWXmlAutoBiz();
dsData = oBiz.XmlGetData("uspProductAccessoryOrderRemarkList", ht);
if (dsData != null && dsData.Tables.Count > 0 && dsData.Tables[0].Rows.Count > 0)
{
var list = new List<Dictionary<string, object>>();
foreach (DataRow row in dsData.Tables[0].Rows)
{
var dict = new Dictionary<string, object>();
foreach (DataColumn col in dsData.Tables[0].Columns)
{
if (col.ColumnName == "ProductAccessoryOrderRemark_Idx")
dict[col.ColumnName] = EncryptKey(row[col]).ToString();
else if (col.ColumnName == "Remark")
dict[col.ColumnName] = Convert.ToString(row[col]).Replace("\n", "<br />");
else
dict[col.ColumnName] = (Convert.ToString(row[col]));
}
list.Add(dict);
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
result = serializer.Serialize(list);
}
}
return result;
}