為AspxGridView繫結資料
阿新 • • 發佈:2019-02-05
我們可以通過給AspxGridView的DataSource屬性或DataSourceID賦值來實現資料繫結。
所支援的資料來源型別包括:SqlDataSource、ObjectDataSource、XmlDataSource、AccessDataSource、SiteMapDatasource、LinqDataSource。下面我們為每一種型別舉一個示例:
1.使用DataSource屬性繫結DataTable
static string _connectionstring = "資料庫連線字元"
DataSet currentDs = new DataSet();
using (SqlConnection currentConn = new SqlConnection(_connectionstring))
{
//獲取資料
currentConn.Open();
SqlDataAdapter currentSda = new SqlDataAdapter("select row_number() over(order by LogID) as RowNumber,* from Sys_Log", currentConn);
currentSda.Fill(currentDs, "Sys_Log");
this.ASPxGridView1.DataSource = currentDs.Tables["Sys_Log"];
this.ASPxGridView1.DataBind();
currentConn.Close();
}
2.使用DataSourceID屬性繫結SqlDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="SqlDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
DataSourceMode="DataReader"
ConnectionString="資料庫連線字元"
SelectCommand="select row_number() over(order by LogID) as RowNumber,* from Sys_Log" >
</asp:SqlDataSource >
3.使用DataSourceID屬性繫結ObjectDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="ObjectDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetAllLog"
typename="AspxGridView.SysLogDAL" / >
其中SysLogDAL.cs程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace AspxGridView
{
public class SysLogDAL
{
static string _connectionstring = "資料庫連線字元";
public static ICollection GetAllLog()
{
ArrayList al = new ArrayList();
DataSet currentDs = new DataSet();
using (SqlConnection currentConn = new SqlConnection(_connectionstring))
{
//獲取資料
currentConn.Open();
SqlDataAdapter currentSda = new SqlDataAdapter("select * from Sys_Log", currentConn);
currentSda.Fill(currentDs, "Sys_Log");
DataTable dt = currentDs.Tables["Sys_Log"];
foreach (DataRow dr in dt.Rows)
{
SysLogEntry e = new SysLogEntry();
e.LogID = Int32.Parse(dr["LogID"].ToString());
e.OCCDatetime = DateTime.Parse(dr["OCCDatetime"].ToString());
e.Event = dr["Event"].ToString();
e.Type = dr["Type"].ToString();
e.Creator = dr["Creator"].ToString();
e.CreateDate = DateTime.Parse(dr["CreateDate"].ToString());
e.Remark = dr["Remark"].ToString();
al.Add(e);
}
currentConn.Close();
}
return al;
}
}
}
其中SysLogEntry.cs程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AspxGridView
{
public class SysLogEntry
{
public int LogID
{
get;
set;
}
public DateTime OCCDatetime
{
get;
set;
}
public string Event
{
get;
set;
}
public string Type
{
get;
set;
}
public string Creator
{
get;
set;
}
public DateTime CreateDate
{
get;
set;
}
public string Remark
{
get;
set;
}
}
}
4.使用DataSourceID屬性繫結LinqDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="LinqDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AspxGridView.SysLogDAL" TableName="SysLogEntrys" >
</asp:LinqDataSource >
其中AspxGridView.SysLogDAL有一個SysLogEntrys的屬性,程式碼如下(其它程式碼同例3)
public ICollection SysLogEntrys
{
get
{
return this.GetAllLog(); ;
}
}
5.使用DataSourceID屬性繫結XmlDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="XmlDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Sys_Log.xml" ></asp:XmlDataSource >
其中Sys_Log.xml檔案內容如下
<?xml version='1.0' encoding='gb2312'? >
<data >
<row LogID="1" OCCDatetime="2010-06-09 10:10:11.083" Event="使用者【Wyf】登陸系統" Type="登陸資訊" Creator="sa" CreateDate="2010-10-21 11:23:08.090" Remark="" / >
</data >
所支援的資料來源型別包括:SqlDataSource、ObjectDataSource、XmlDataSource、AccessDataSource、SiteMapDatasource、LinqDataSource。下面我們為每一種型別舉一個示例:
1.使用DataSource屬性繫結DataTable
static string _connectionstring = "資料庫連線字元"
DataSet currentDs = new DataSet();
using (SqlConnection currentConn = new SqlConnection(_connectionstring))
{
//獲取資料
currentConn.Open();
SqlDataAdapter currentSda = new SqlDataAdapter("select row_number() over(order by LogID) as RowNumber,* from Sys_Log", currentConn);
currentSda.Fill(currentDs, "Sys_Log");
this.ASPxGridView1.DataSource = currentDs.Tables["Sys_Log"];
this.ASPxGridView1.DataBind();
currentConn.Close();
}
2.使用DataSourceID屬性繫結SqlDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="SqlDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
DataSourceMode="DataReader"
ConnectionString="資料庫連線字元"
SelectCommand="select row_number() over(order by LogID) as RowNumber,* from Sys_Log" >
</asp:SqlDataSource >
3.使用DataSourceID屬性繫結ObjectDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="ObjectDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetAllLog"
typename="AspxGridView.SysLogDAL" / >
其中SysLogDAL.cs程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace AspxGridView
{
public class SysLogDAL
{
static string _connectionstring = "資料庫連線字元";
public static ICollection GetAllLog()
{
ArrayList al = new ArrayList();
DataSet currentDs = new DataSet();
using (SqlConnection currentConn = new SqlConnection(_connectionstring))
{
//獲取資料
currentConn.Open();
SqlDataAdapter currentSda = new SqlDataAdapter("select * from Sys_Log", currentConn);
currentSda.Fill(currentDs, "Sys_Log");
DataTable dt = currentDs.Tables["Sys_Log"];
foreach (DataRow dr in dt.Rows)
{
SysLogEntry e = new SysLogEntry();
e.LogID = Int32.Parse(dr["LogID"].ToString());
e.OCCDatetime = DateTime.Parse(dr["OCCDatetime"].ToString());
e.Event = dr["Event"].ToString();
e.Type = dr["Type"].ToString();
e.Creator = dr["Creator"].ToString();
e.CreateDate = DateTime.Parse(dr["CreateDate"].ToString());
e.Remark = dr["Remark"].ToString();
al.Add(e);
}
currentConn.Close();
}
return al;
}
}
}
其中SysLogEntry.cs程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AspxGridView
{
public class SysLogEntry
{
public int LogID
{
get;
set;
}
public DateTime OCCDatetime
{
get;
set;
}
public string Event
{
get;
set;
}
public string Type
{
get;
set;
}
public string Creator
{
get;
set;
}
public DateTime CreateDate
{
get;
set;
}
public string Remark
{
get;
set;
}
}
}
4.使用DataSourceID屬性繫結LinqDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="LinqDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AspxGridView.SysLogDAL" TableName="SysLogEntrys" >
</asp:LinqDataSource >
其中AspxGridView.SysLogDAL有一個SysLogEntrys的屬性,程式碼如下(其它程式碼同例3)
public ICollection SysLogEntrys
{
get
{
return this.GetAllLog(); ;
}
}
5.使用DataSourceID屬性繫結XmlDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="XmlDataSource1" >
<Columns >
<dxwgv:GridViewDataColumn Caption="LogID" FieldName="LogID" / >
<dxwgv:GridViewDataColumn Caption="發生時間" FieldName="OCCDatetime" / >
<dxwgv:GridViewDataColumn Caption="事件" FieldName="Event" / >
<dxwgv:GridViewDataColumn Caption="型別" FieldName="Type" / >
<dxwgv:GridViewDataColumn Caption="建立人" FieldName="Creator" / >
<dxwgv:GridViewDataColumn Caption="建立日期" FieldName="CreateDate" / >
<dxwgv:GridViewDataColumn Caption="備註" FieldName="Remark" / >
</Columns >
</dxwgv:ASPxGridView >
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Sys_Log.xml" ></asp:XmlDataSource >
其中Sys_Log.xml檔案內容如下
<?xml version='1.0' encoding='gb2312'? >
<data >
<row LogID="1" OCCDatetime="2010-06-09 10:10:11.083" Event="使用者【Wyf】登陸系統" Type="登陸資訊" Creator="sa" CreateDate="2010-10-21 11:23:08.090" Remark="" / >
</data >