반응형

[2021.05.07]

※2019년에 FullCalendar를 커스터마이징을 하였고 버전은 'v3' 버전을 이용하였습니다. 

현재 v5버전까지 나온것으로 확인되며, v3 버전은 아래 도메인에서 받을 수 있습니다. 

github.com/fullcalendar/fullcalendar/releases/tag/v3.10.2

 

 

기본 FullCalendar.js를 사용하는 경우 api를 수정 시켜주어야 합니다.

v3 FullCalendar.js에서 'Toolbar.prototype.updateTitle' 를 검색하여 수정하여야 합니다. 

아래와 같이 수정하면 월/년 -> 년/월으로 수정 할 수있습니다.

Toolbar.prototype.updateTitle = function (text) {
        if (this.el) {          
        	
            //추가 yyyy년 mm
            var vMonthDate = text.substring(3,8)+"년 "+text.substring(0,3);                        
            
            this.el.find('h2').text(vMonthDate);
        }
    };

 

 

 

 

 

반응형

이번에 AutoComplete 수정하면서 찾아낸 이미지 변경입니다.

#ui-id-1 {오토 컴플리트 창}
.ui-menu-item-wrapper {오토 컴플리트 리스트 화면 수정}
.ui-menu-item-wrapper:hover {오토컴플리트 리스트 hover 시 화면 수정}
.ui-state-active{키보드 선택 시 오토 컴플리트 화면수정}

반응형

대소문자 변경 후 키보드 커서의 위치가 맨 끝으로 가게끔 되버려서 문제가 있었습니다.

 

하코사의 질문을 올렸고 그에 대한 답변을 받아서 아래와 같이 수정 하였습니다.

$(document).on("keyup", "input", function () {
    var vValue = $(this).val();
    var position = this.selectionStart; //현재 포커스 되어있는 곳에 포지션을 둔다.
    $(this).val(vValue.toUpperCase()); //소문자를 대문자로 변경한다.
    this.setSelectionRange(position, position); //포커스 되어있는 곳에 포지션으로 이동한다.
});
$(document).on("keyup", "textarea", function () {
    var vValue = $(this).val();
    var position = this.selectionStart; //현재 포커스 되어있는 곳에 포지션을 둔다.
    $(this).val(vValue.toUpperCase()); //소문자를 대문자로 변경한다.
    this.setSelectionRange(position, position); //포커스 되어있는 곳에 포지션으로 이동한다.
});

 

※하코사의 '삽질하는사람'님 감사합니다 ㅎ

반응형

Dictionary나 dataTable에 데이터를 .ToString()으로 가져올때 Null 값이면 오류를 발생 시킨다.

 

그것을 방지하기 위한 아래의 변수 설정을 지정해주면 된다.

public string fnTest(Dictionary<string, string> Di)
{
    string sSql = "";

    string Opt = "";
    string Type = "";
    string SearchText = "";
    int pageIndex = 0;

    if (Di.ContainsKey("Option"))
    {
    Opt = Di["Option"] == null ? "" : Di["Option"].ToString();
    }

    if (Di.ContainsKey("Type"))
    {
    Type = Di["Type"] == null ? "" : Di["Type"].ToString();
    }

    if (Di.ContainsKey("SearchText"))
    {
    SearchText = Di["SearchText"] == null ? "" : Di["SearchText"].ToString();
    }

    if (Di.ContainsKey("Page"))
    {
    pageIndex = Di["Page"] == null ? 0 : Int32.Parse(Di["Page"].ToString());
    }
}

이와 마찬가지로 DataTable도 동일하게 하면 된다.

public string fnTest(DataRow dr)
{
        string sSql = "";

        string Opt = "";
        string Type = "";
        string SearchText = "";
        int pageIndex = 0;

        if (dr.ContainsKey("Option"))
        {
        	Opt = dr["Option"] == null ? "" : dr["Option"].ToString();
        }

        if (dr.ContainsKey("Type"))
        {
        	Type = dr["Type"] == null ? "" : dr["Type"].ToString();
        }

        if (dr.ContainsKey("SearchText"))
        {
        	SearchText = dr["SearchText"] == null ? "" : dr["SearchText"].ToString();
        }

        if (dr.ContainsKey("Page"))
        {
        	pageIndex = dr["Page"] == null ? 0 : Int32.Parse(dr["Page"].ToString());
      	}
}

 

반응형

JavaScript에서 C#으로 데이터를 넘길 때 보통은 FormData를 생성하여 데이터를 이동시켜서 파싱하는 방법이나

Object에 담아서 던지는 방법 2가지를 채택하여 저는 사용합니다.

그 중에서 제일 간편하게 사용하는 방법은 Javascript에서 Json형식으로 데이터를 가공하여 사용하는 편인데요

하지만 오늘 설명 할 것은 Object로 바로 넘겨서 데이터를 파싱 및 해당 Object를 다시 넘겨서 다시 파싱하는 방법을 찾아서 정리 하려고 합니다.

다른 좋은 방법이 더 있다면 댓글로 남겨주세요 ㅎㅎ

JavaScript

※Object로 데이터를 묶어서 C#으로 보냅니다.
=======자바스크립트 예제======

 

var callObj = new Object();

callObj.Option = "데이터";
callObj.Type = "데이터";
callObj.SearchText = "데이터";
callObj.Page = "데이터";

$.ajax({
	type: "POST",
	url: "url",
	async: false,
	dataType: "json",
	data: callObj,
success: function (result) {
	결과
}, error: function (xhr)
	에러
}
});

=====C# 예제======
//C# Object 파라미터를 받을 수 있게 만든 매개변수 함수

public class ParamsData
{
	//JavaScript에서 보낼때 key값과 동일하게 맞춰야됩니다.
	public string Option { get; set; }
	public string Type { get; set; }
	public string SearchText { get; set; }
	public int Page { get; set; }
}

//예제 데이터 ParamsData rtnVal(매개변수명)

public string example(ParamsData rtnVal)
{
	string rtnJson = "";
	try
	{
		if (rtnVal != null)
		{
			string strOpt = rtnVal.Option; //JavaScript에서 만든 Key값 으로 데이터 받을 수 있음.
			string strType = rtnVal.Type;
			string strText = rtnVal.SearchText;
			int pageIndex = rtnVal.Page;

       	 	//다른 함수로 Object 데이터를 넘길 때.
       		Another_function(rtnVal); //다른 메소드로 데이터를 한번에 옮길때 Object 형식으로 보내면 됩니다.
    	}
    	return rtnJson;
	}
	catch (Exception e)
	{
	    return rtnJson;
	}
}

 

//다른 함수 (오브젝트 파싱하여 받기)
※Object 형식을 Json으로 파싱 이후 Json데이터를 dictionary로 변환하여 사용한 예제 입니다.
DataTable로 변환 하려고 하였지만 실패하였고 JObject를 사용하여 Json을 파싱 하였지만 for문으로 돌려서 하나씩 가져와야되는 불편함이 있어서 dictionary를 사용하였습니다.
public string Another_function(object value)
{
//JsonConvert를 사용하기 위해서는 NewtonJson.dll을 Nuget에서 다운받아서 사용하여야 합니다.

var dictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(JsonConvert.SerializeObject(value).ToString());

	string stringOption = dictionary["Option"].ToString();
	string stringType = dictionary["Type"].ToString();
	string stringSearchText = dictionary["SearchText"].ToString();
	string nPage = dictionary["Page"].ToString();

	return "";

}

 

이상 JavaScript 데이터를 C#으로 C#의 Object 데이터를 다른 함수로 전달해서 사용하는 방법을 정리해 보았습니다.
C# 지식이 짧아 더 좋은 방법이 있는지 까지는 백방으로 찾아보았지만 아직까지는 더 좋은 방법을 찾지는 못하였습니다.

정리한 소스가 다른 분들에게 도움이 됐으면 하네요 ㅎㅎ

반응형

//할증률 계산 Calculation Primium Rate

function fnCal_PR(vValue,vPR) {
	return vValue + (vValue * (vPR / 100));
}

 

※return 에서 vValue * (vPR / 100) 여기 부분만 사용하면 할인 금액으로도 사용 할 수 있습니다.

★return vValue * (vPR / 100);

 

할증률 반올림 추가 - 첫번째 정수 자리수 반올림

function fnCal_PR(vValue,vPR) {
	return Math.round((vValue + (vValue * (vPR / 100))) / 10) * 10;
}

 

할증률 반올림 추가 - 두번째 정수 자리수 반올림

function fnCal_PR(vValue,vPR) {
	return Math.round((vValue + (vValue * (vPR / 100))) / 100) * 100;
}

 

할증률 반올림 추가 - 세번째 정수 자리수 반올림

function fnCal_PR(vValue,vPR) {
	return Math.round((vValue + (vValue * (vPR / 100))) / 1000) * 1000;
}
반응형
"문자열".toLowerCase(); // 소문자로 변환
"문자열".toUpperCase(); // 대문자로 변환
반응형
SELECT TO_DATE('20210408', 'YYYYMMDD')- TO_DATE('20210406', 'YYYYMMDD') FROM DUAL;



+ Recent posts