2017-12-05 4 views
0

SQL 데이터베이스에서 데이터를 가져 와서 Jquery DataTable에 표시하려고합니다. Gridview에서이 작업을 수행 할 수 있었지만 더 많은 기능을 위해 Jquery DataTable로 변경하려고합니다. 데이터가 내 BindGrid() 함수에서 수집되는 것처럼 보이지만 실제로 웹 페이지의 테이블에 표시되지는 않지만 헤더에는 표시되지만 아래에는 정보가 표시되지 않습니다. 여기 Jquery 테이블 본문이 SQL 데이터로 표시되지 않습니다.

지금 내 웹 양식의 사진입니다 : 지금의 약자로 또한 No data is displaying in the datatable

, 여기에 내 모든 코드는 다음과 같습니다

HTML :

<div style="margin-top:30px;"> 
     <table class="table table-striped table-bordered" style="font-family: serif; border:1px;" id="netEventTable" clientIdMode="static"> 
      <thead> 
       <tr> 
        <th>ID</th> 
        <th>Username</th> 
        <th>Type</th> 
        <th>Subject Line</th> 
        <th>Start Time</th> 
        <th>Estimated Time of Resolution</th> 
       </tr> 
      </thead> 
      <tbody id="netEventTableBody" runat="server"> 

      </tbody> 
     </table> 
    </div> 

JQUERY :

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js" type="text/javascript"></script> 
<script src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js" type="text/javascript"></script> 
<link href="" rel="stylesheet" /> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#netEventTable').dataTable({ 
      "bLengthChange": true, 
      "paging": true, 
      "sPaginationType": "full_numbers", 
      "jQueryUI": true,    
     }); 
    }); 
</script> 

C# (CodeBehind) :

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!this.IsPostBack) 
     { 
      this.BindGrid(); 
     } 
    } 

    private void BindGrid() 
    { 
     string strSQLConn = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString; 
     try 
     { 
      // Jquery DataTable 
      SqlConnection con = new SqlConnection(strSQLConn); 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("getNetEvents", con); 
      SqlDataReader user = cmd.ExecuteReader(); 
      String UnreadText = ""; 
      Int32 i = 0; 
      while (user.Read()) 
      { 
       UnreadText += "<tr>"; 
       UnreadText += "<td class=\'center'>" + user["ID"] + "</td>"; 
       UnreadText += "<td class=\'center'>" + user["Name"] + "</td>"; 
       UnreadText += "<td class=\'center'>" + user["Type"] + "</td>"; 
       UnreadText += "<td class=\'center'>" + user["SubjectLine"] + "</td>"; 
       UnreadText += "<td class=\'center'>" + user["StartTime"] + "</td>"; 
       UnreadText += "<td class=\'center'>" + user["EndTime"] + "</td>"; 
       UnreadText += "</tr>"; 
       i++; 
      } 
      con.Close(); 


     } 
     catch (Exception ex) 
     { 
      Console.WriteLine("ERROR: " + ex.ToString()); 
      Helpers.ApplicationLogHelper.createApplicationLogError("ERROR", ex.ToString()); 
      return; 
     } 
    } 

SQL 서버의 데이터를 Jquery DataTable에 표시하려면 어떻게합니까?

+0

'UnreadText'는 프런트 엔드/HTML/aspx에 포함 된 내용을 렌더링하는 코드는 어디에 있습니까? – EdSF

+0

렌더링하는 데 아무 것도 없다고 생각합니다. 어떻게해야합니까? – FrankTheTank

답변

0

나는 전혀 아무것도하지 않습니다 그래서 그냥 JQuery와 데이터 테이블을 초기화하기 때문에이 부분

"ajax": { 
     url: 'some url', 
     type: "GET", 
     error: function (data) { 
      //catch error 
     } 
    } 

을 놓치고있어 생각합니다.

+0

내 경우에 URL이 무엇이겠습니까? – FrankTheTank

+0

귀하의 프로젝트가 asp.net mvc가 아닌 것으로 가정하므로이 링크를 클릭하면 도움이 될 것입니다. https://www.aspsnippets.com/Articles/Call-ASPNet-Page-Method-using-jQuery-AJAX-Example.aspx –