๐[JavaScript] JS์์ ๋ฐ์ดํฐ๋ฅผ ๋์ ์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ
๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ๋ฐ๋ก ํ์ํ๋ ๋ฒ(?)
jsp ํ๋ฉด์ ๊ตฌํํ๋ ๋์ค ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค.
ํ๋ฉด์์ SB Grid
๋ฅผ ํด๋ฆญํ์ ๋, ํด๋น ์
์ ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ์ฌ ํ๋ฉด์ ํ์ํด์ผํ๋ ์์
์ด์๋ค.
- SB Grid๋, ํ์ฌ ์ค์ต ๊ณผ์ ์์ ์ฌ์ฉํ๊ณ ์๋ ๋ฐ์ดํฐ ์๊ฐํ ๋๊ตฌ๋ก, ๋ฐ์ดํฐ๋ฅผ ์์ ๊ณผ ๊ฐ์ ํํ๋ก ํ๋ฉด์ ๋ํ๋ผ ์ ์์ผ๋ฉฐ, ๋ค์ํ ๊ธฐ๋ฅ๋ค์ด ์๋ค.
๋จผ์ , ๋ฐ์ดํฐ๋ฅผ ํด๋ฆญํ์ ๋ ๊ทธ ์ ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๋ ๋ฒ์ SB Grid ๋ด์ฅ ํจ์๋ฅผ ์ด์ฉํ์ฌ ์๋์ ๊ฐ๋ค.
var nRow = datagrid.getRow();
var selectData = datagrid.getCellData(nRow, 2);
์ฌ๊ธฐ์ getCellData(nRow, 2)
๋ ํด๋ฆญํ ์
๋ฐ์ดํฐ ์ค 2๋ฒ์งธ ์ด์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
[์์]
CellData: |projectSeq|ProjectCode|ProjectValue|ProjectStartDate|ProjectEndDate|
>>> getCellData(nRow, 2): ProjectCode์ ํด๋นํ๋ ๊ฐ์ ๊ฐ์ ธ์ด
์ด์ด์ Ajax๋ฅผ ์ด์ฉํด ์ปจํธ๋กค๋ฌ์ selectData
๋ฅผ ์ ๋ฌํ๊ณ , ๋ฐฑ์๋ ๋ก์ง(Controller -> Service -> ServiceImpl -> Mapper -> DB)์ ๊ฑฐ์ณ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค๊ณ ํ์.
๊ทธ๋ฌ๋ฉด ๊ทธ ๋ฐ์ดํฐ๋ ์ด๋ป๊ฒ ํํํ๋?!
$.ajax({
url: "<c:url value='/location/to/controller'/>",
type: "POST",
data: pageInfo,
dataType: 'json',
async: false,
success: function (data) {
if (data != null && data.length > 0) {
var orderData = data[0];
var data1 = orderData.projectCode;
document.getElementById("<html์์ ๊ฐ์ ๋ฃ์ ๊ณต๊ฐ์ id ๊ฐ>").value = data1;
} else {
alert("Failed to fetch data");
}
}
});
์์ ๊ฐ์ด data[0]
๋ก ํํํ ์ ์๋ค.
data[0]์๋ ๋ด๊ฐ ์ ํํ ์
๋ฐ์ดํฐ์ 2๋ฒ์งธ ๋ฐ์ดํฐ์ธ ProjectCode
๋ฅผ ์ด์ฉํด ์ฟผ๋ฆฌ๋ฅผ ๋์ํ ํ SELECTํ ๋ฐ์ดํฐ์ ์ ์ฒด ๊ฐ์ด ๋ค์ด์๋ค.
์ด ๊ฐ์ ์ด์ฉํด orderData
์ ๋ฃ์ด์ฃผ์ด ์์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.
์ด๋ ๊ฒ ํ๋ฉด ํ๋ฉด์์ ์
๋ฐ์ดํฐ๋ฅผ ํด๋ฆญํ๊ณ , ํด๋น ๊ฐ์ ํ๋ฉด์ ์ด๋ ์์ด ๋ฐฑ์๋ ๋ก์ง์ ๊ฑฐ์ณ ํ๋ฉด์ ํํํ ์ ์๋ค.
์ฌ๊ธฐ์ ์ฌ์ฉํ SB Grid๋ SBGrid2.5 ์ด๋ฉฐ, ํ์ฌ๋ SBGrid3.0 ์ด ์๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ