반응형

-- Aspx
<%@ Register TagPrefix="cc1" Namespace="RashidPager" %>   // 네임스페이스 등록


<cc1:Pager ID="PagerMyCase"
                  runat="server"
                  OnPageChange="PagerMyCase_PageChange"
                  SliderSize="5"
                  ShowFirstAndLast="false"
                  ShowPreviousAndNext="true" 
                  ShowInfo="True"
                  RowPerPage="10" 
                  CurrentPageCssClass="paging_current"
                  OtherPageCssClass="paging_other"
                  ShowTip="false"
                  HideOnSinglePage="false"
                  NextText="&gt"
                  PreviousText="&lt"  />


-- CS
using RashidPager;

<Data Bind>
// 페이지당 행의 수
db.AddInParameter(dbCmd, "@PageSize", DbType.Int16, PagerSubmittedCase.RowPerPage);  
// 현재 페이지 Number
db.AddInParameter(dbCmd, "@CurrentPage", DbType.Int16, PagerSubmittedCase.CurrentPageNo);
// 총 데이터 수(return value)
db.AddOutParameter(dbCmd, "@TotalCount", DbType.String, 5);

// 총 데이터 수를 Pager 클래스의 TotalRow의 변수에 값을 배정한다
PagerSubmittedCase.TotalRow = Convert.ToInt32(db.GetParameterValue(dbCmd, "@TotalCount"));


// 페이지 Change 이벤트 설정
// 페이지 번호나 Next, Previous가 클릭될때 이벤트가 발생한다.
protected void PagerSubmittedCase_PageChange(object sender, PageChangeEventArgs e)
{
     ((Pager)sender).CurrentPageNo = e.PageNo;
     Submitted_DataBind();
}


-- Database
CREATE PROC ProcName
    @PageSize        tinyint    = 10,
    @CurrentPage    int    = 1,
    @TotalCount        int output
AS
BEGIN
    SET NOCOUNT ON
   
    DECLARE    @UpperBand    int
    DECLARE    @LowerBand    int
   
    SET @UpperBand = ((@CurrentPage - 1) * @PageSize) + 1
    SET @LowerBand = @CurrentPage * @PageSize

    -- Row Number가 추가된 임시 테이블 생성
     ;WITH tempTable AS (
        SELECT        컬럼들,  Row_Number() OVER (ORDER BY 정렬기준 컬럼 DESC) AS RowNum
        FROM           테이블명
        WHERE         조건절
    )

    -- 데이터 Select
    SELECT    컬럼들
    FROM       tempTable
    WHERE     RowNum BETWEEN     @UpperBand AND @LowerBand
   
    -- Total Count
    SELECT        @TotalCount = Count(*)
    FROM           테이블명
    WHERE         조건절
END

반응형
반응형
 foreach (Control c in Page.Form.Controls)
      {
          switch (c.GetType().ToString())
          {
              case ("System.Web.UI.WebControls.TextBox"):
                  paramters.Add(c.ID, ((TextBox)c).Text.ToString());
                  break;

반응형
반응형

//Error 잡아내기
var isDebugging = true;
function ErrorSetting(msg, file_loc, line_no) {
var e_msg=msg;
var e_file=file_loc;
var e_line=line_no;
var error_d = "Error in file: " + file_loc + "\nline number:" + line_no + "\nMessage:" + msg;
    if(isDebugging)
        alert("Error Found !!!\n--------------\n" + error_d);

    return true;
}
window.onerror = ErrorSetting;
반응형
반응형


http://loco.paran.com/Index.asp?main_url=/info/notice.asp?dbIdx=55^^b_Id=1^^Idx=367^^t_Cate=4
반응형
반응형
반응형
반응형


// Cross Browser Word Breaker with jQuery
// Usage : $('[search]').breakWords();
(function($) {
    $.fn.breakWords = function() {
        this.each(function() {
            if (this.nodeType !== 1) { return; }

            if (this.currentStyle && typeof this.currentStyle.wordBreak === 'string') {
                this.runtimeStyle.wordBreak = 'break-all';
            } else if (document.createTreeWalker) {
                var trim = function(str) {
                    str = str.replace(/^\s\s*/, '');
                    var ws = /\s/, i = str.length;
                    while (ws.test(str.charAt(--i)));
                    return str.slice(0, i + 1);
                };            //For Opera, Safari, and Firefox
                var dWalker = document.createTreeWalker(this, NodeFilter.SHOW_TEXT, null, false);
                var node, s, c = String.fromCharCode('8203');
                while (dWalker.nextNode()) {
                    node = dWalker.currentNode;
                    s = trim(node.nodeValue).split('').join(c);
                    node.nodeValue = s;
                }
            }
        });
        return this;
    };
})(jQuery);

오호..이런 좋은게 있었다니..

반나절의 삽질을

췌길... Literal 이것때문에 뭔 고생이람..ㅡㅡ;;

스타일이 먹히지 않는다걸 생각도 못하고. 다시는 이거 안써!!

Label이 짱이야.ㅋㅋ

## 참고 : jQuery.js (1.3.2) 버전 이상 가능

반응형
반응형

if($.browser.msie)
{
     document.getElementById("tr").style.display = "inline";
}
else
{
     document.getElementById("tr").style.display = "table-row";
}

익스플로러 7이하에서는 "table-row"의 속성값을 인식하지 못하는 문제가 발생하였다..ㅡㅡ;;

이것은 "inline"으로 설정하면 간단하게 해결이 된다.

하지만 또 다른 문제 발생!!!!

바로 Firefox에서 또 다른 문제가 생긴다. "inline"을 사용하게 되면 첫번째 column에 Table Row가

그냥 생겨버린다.

colspan은 전혀 먹히지 않은채~~

그래서 IE이외의 브라우저는 "table-row" 속성을 먹이면 된다.

아따 스크립트 좀 통일 하면 안되냐 이것들아.!!!

반응형
반응형

IE8에 의해서 간간히 발생하는 오류로써

처음에는 무슨 오류가 싶어서 하루 종일 소스만 보면서 파고 들었는데

결국 "..WebResource.axd?d=XXXXXXX" d 파라미터 뒤에 QueryString이 중간에 짤려있었다..ㅠㅠ

간단한 해결 방안은!!!!!!!!!!!!!

head안에 정의 되어 있는 <meta http-equiv="content-type" content="text/html; charset=utf-8" />

메타태그를 Page_Load 함수로 옮겨놓는 것이다.ㅋ

Response.ContentType = "text/html";
Response.Charset = "utf-8";

요렇게 말이다.!!

브라우저의 문제였단 말인가..ㅜㅜ

아..머리아포~~

참고 사이트
http://blog.soft-cor.com/?tag=/scriptresource.axd
http://alterprocedure.net/articles/alterprocedure/aspnet-causing-corrupted-html-with-webresourceaxd-and-scriptresourceaxd.aspx
반응형

+ Recent posts