GridView用資料來源控制元件和用DataTable作為資料來源的不同
1.使用資料來源控制元件可以自動做排序分頁,不需要多餘程式碼,可是由於自動繫結太多操作,反而覺得很不靈活
前臺:
<asp:GridViewID="gv_test"DataSourceID="ds_test"AllowPaging="True" PageSize="10"runat="server">
...
</asp:GridView>
<asp:SqlDataSource runat="server" ID="ds_test" SelectCommand="select * from test" ConnectionString="...">
2.使用DataTable為資料來源會發現排序,分頁包括修改,取消等操作都需要手動實現
<asp:GridView ID="gv_test" runat="server" OnRowCommand="gv_test_RowCommand" OnRowUpdating="gv_test_RowUpdating" OnRowEditing ="gv_test_RowEditing" OnRowCancelingEdit ="gv_test_RowCancelingEdit" OnPageIndexChanging ="gv_test_PageIndexChanging" AllowPaging="True" PageSize="10" AllowSorting="True" >
...
</asp:GridView >
後臺:
Page_Load: gv_test.SortExpression總是為空,只好將排序字串儲存在新建的屬性裡
gv_test.Attributes.Add("Sort", "lastUpdateDate desc")
Protected Sub bind()
gv_test.DataSource = getDataTable_bySQL("select * from test order by "+gv_test.Attributes("Sort"))
gv_test.DataBind()
End Sub DataView比DatatTable功能強大些,可以拿到資料後進行排序。當SQL Server的ntext列不支援order by時候,用DataView可以解決問題,如下:
Protected Sub bind()
gv_test.DataSource = getDataTable_bySQL("select * from test")
Dim dv As DataView = New DataView(getTableData_bySQL("select * from test"))
dv.Sort=gv_test.Attributes("Sort")
gv_test.DataSource=dv gv_test.DataBind()
End Sub
Protected Sub gv_test_Sorting(ByVal sender As Object, ByVal e As GridViewSortEventArgs) Handles gv_test.Sorting gv_test.EditIndex = -1 If gv_test.Attributes("Sort") = e.SortExpression + " desc" Then gv_test.Attributes("Sort") = e.SortExpression Else gv_test.Attributes("Sort") = e.SortExpression + " desc" End If bind() End Sub Protected Sub gv_test_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) gv_test.PageIndex = e.NewPageIndex gv_test.EditIndex = -1 bind() End Sub Protected Sub gv_test_RowCancelingEdit(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) gv_test.EditIndex = -1 bind() End Sub Protected Sub gv_test_RowUpdating(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv_test.RowUpdating gv_test.EditIndex = -1 End Sub Public Sub gv_test_RowEditing(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) gv_test.EditIndex = e.NewEditIndex bind() End Sub
相關文章
- BIRT 怎麼呼叫 Webservice 作為資料來源Web
- 多資料來源與動態資料來源的權衡
- Spring系列 之資料來源的配置 資料庫 資料來源 連線池的區別Spring資料庫
- 資料來源(DataSource)是什麼以及SpringBoot中資料來源配置Spring Boot
- SparkSQL外部資料來源SparkSQL
- 阿里DRUID資料來源阿里UI
- 多資料來源配置
- SpringBoot多資料來源Spring Boot
- TongWeb資料來源原理Web
- SpringBoot 的多資料來源配置Spring Boot
- 同時第三方資料來源和資料庫歷史資料,作為cta策略初始化資料庫
- Spring多資料來源配置Spring
- SpringBoot整合Druid資料來源Spring BootUI
- weblogic配置JDBC資料來源WebJDBC
- springBoot 多資料來源配置Spring Boot
- pip更換資料來源
- springboot多資料來源配置Spring Boot
- MyBatis整合雙資料來源MyBatis
- weblogic GridLink資料來源配置Web
- MyBatis配置多資料來源MyBatis
- SpringBoot配置多資料來源Spring Boot
- SpringBoot | 3.1 配置資料來源Spring Boot
- web 配置多資料來源Web
- Spring-Boot 多資料來源配置+動態資料來源切換+多資料來源事物配置實現主從資料庫儲存分離Springboot資料庫
- [譯]Swift 中的通用資料來源Swift
- springboot 配置DRUID資料來源的方法Spring BootUI
- SAP Spartacus SimpleResponsiveBannerComponent url 的資料來源
- SpringBoot資料訪問之Druid資料來源的使用Spring BootUI
- 談談Spring Boot 資料來源載入及其多資料來源簡單實現Spring Boot
- Spring多資料來源獲取Spring
- .Net Core Configuration Etcd資料來源
- 1.配置Tomcat資料來源Tomcat
- SpringBoot 配置多資料來源 MyBatisSpring BootMyBatis
- siebel切換資料來源【轉】
- Flink資料來源拆解分析(WikipediaEditsSource)
- SpringBoot資料來源相關配置Spring Boot
- Spring Boot 多資料來源配置Spring Boot
- Spring Boot 配置多資料來源Spring Boot
- Weblogic資料來源配置文件Web