วันจันทร์ที่ 10 ธันวาคม พ.ศ. 2555

ASP.NET GridView Control - DataBind

(C#) ASP.NET GridView Control - DataBind เป็นรูปแบบการใช้ GridView แบบง่าย ๆ โดยเพียงแค่ส่ง DataSourceหลังจากนั้นจะให้ GridView ทำการ Binddata อัตโนมัติ

Language Code : C#

Framework : 2,3,4

Syntax

myGridView.DataSource = [DataReader,DataSet,DataTable]
myGridView.DataBind()


GridViewDataBind.aspx


<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%@ Page Language="C#" Debug="true" %>
<script runat="server">
OleDbConnection objConn;
OleDbCommand objCmd;

    void Page_Load(object sender,EventArgs e)
{
String strConnString;
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
Server.MapPath("database/mydatabase.mdb") + ";";
objConn = new OleDbConnection(strConnString);
objConn.Open();

BindData();
    }

void BindData()
{
String strSQL;
strSQL = "SELECT * FROM customer";

OleDbDataReader dtReader;
objCmd = new OleDbCommand(strSQL, objConn);
dtReader = objCmd.ExecuteReader();

//*** BindData to GridView ***//
myGridView.DataSource = dtReader;
myGridView.DataBind();

dtReader.Close();
dtReader = null;
}

void Page_UnLoad()
{
objConn.Close();
objConn = null;
}
</script>
<html>
<head>
<title>ThaiCreate.Com ASP.NET - GridView</title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView id="myGridView" runat="server"></asp:GridView>
</form>
</body>
</html>


จากบทความที่แล้ว ASP.net การใช้ GridView ครั้งนี้เรามาใช้ SqlDataReader กับ GridView กันบ้างโดยก่อนที่จะสามารถใช้ SqlDataReader ได้นั้นเราก็ต้องทำการเปิด Connection แล้วคำสั่งที่ใช้สำหรับดึงข้อมูลซะก่อนซึ่งข้อมูลในฐานข้อมูลนั้น ผมใช้เป็นข้อมูลตัวอย่าง Northwind เรามาเริ่มกันเลยดีกว่า
ขั้นแรกผมทำการสร้างไฟล์ WebForm โดยตั้งชื่อว่า Query.aspx ดังรูป
สอนเขียน c# gridview
ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่ง
1.using System.Data;
2.using System.Data.SqlClient;
หลังจากนั้นก็กลับไปที่ไฟล์ webpage คือ Query.aspx เพื่อทำการสร้าง GridView โดยให้เอาเมาส์ลาก GridView จาก ToolBar ในส่วนของ Data
ASP.net การใช้ GridView
เมื่อสร้าง GridView เสร็จแล้วให้ทำการแก้ไข ID ของ GridView เป็น grid
ASP.net การใช้ GridView

หลังจากก็ทำการเขียนโค้ดในส่วนของการเชื่อมต่อฐานข้อมูลแล้งดึงข้อมูล ซึ่งมีโค้ดดังนี้
ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่ง
01.SqlConnection conn = new SqlConnection(@"server=.\sqlexpress;integrated security=true;database=northwind");
02.conn.Open();
03. 
04.string sqlString = "SELECT ProductID, ProductName, QuantityPerUnit, UnitPrice FROM Products";
05.SqlCommand comm = new SqlCommand(sqlString,conn);
06. 
07.SqlDataReader reader = comm.ExecuteReader();
08.grid.DataSource = reader;
09.grid.DataBind();
โค้ดชุดนี้ใส่ใน Function Page_Load คือให้เริ่มทำงานเมื่อหน้าเพจได้ทำการ load ข้อมูลนั้นเอง
ASP.net การใช้ GridView
ผลลัพธ์ก็จะได้ดังรูป จากตัวอย่างโค้ดจะเห็นว่าจะประกอบด้วย 3-4 ส่วนด้วยกันคือ 1 ทำการเชื่อมต่อฐานข้อมูลซึ่งจะต้องเป็นข้อมูลที่ถูกต้องเพื่อที่จะได้เข้าไปใช้งานได้ซึ่งตัวอย่างก็คือ
ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่ง
1.SqlConnection conn = new SqlConnection(@"server=.\sqlexpress;integrated security=true;database=northwind");
2.conn.Open();
ซึ่งเวลา new SqlConnection ก็จะใส่รายละเอียดของ server ต่อจากนั้นก็ใช้คำสั่ง Open() เพื่อทำการเชื่อมต่อ
เมื่อเชื่อมต่อเสร็จแล้วก็จะทำการดึงข้อมูลโดยคำสั่ง sql นั้นถูกกำหนดแต่เก็บในตัวแปร sqlString ต่อจากนั้นเมื่อต้องการดึงข้อมูลก็จะใช้ SqlCommand เพื่อกำหนดคำสั่งและทำการดึงข้อมูล จากตัวอย่างนั้นก็จะใช้ฟังก์ชั่น ExecuteReader เพื่อทำการดึงข้อมูลมาเพื่อดูข้อมูล หลังจากดึงข้อมูลเรียบร้อยแล้วก็จะทำการแสดงผลไปยัง GridView โดยใช้คำสั่งต่อไปนี้
1.SqlDataReader reader = comm.ExecuteReader();
2.grid.DataSource = reader;
3.grid.DataBind();
มันก็จะแสดงผลตามที่เราต้องการแล้วครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น