สอบถามเรื่องเปลี่ยนหน้า โดยใช้ GridView ครับ ผมได้ทำการสร้างปุ่มดึงข้อมูลจากฐานข้อมูลมา โดย 1 page ขึ้น 10 ข้อมูล แต่พอเปลี่ยนเป็นหน้าที่ 2 จะขึ้นอีก 10 ข้อมูล มันไม่ขึ้น เราต้องกดปุ่มที่ดึงข้อมูลอีกครั้ง เพื่อจะให้ข้อมูลที่ 11 - 20 ขึ้น
ผมได้ทำการสร้างปุ่มดึงข้อมูลจากฐานข้อมูลมา โดย 1 page ขึ้น 10 ข้อมูล แต่พอเปลี่ยนเป็นหน้าที่ 2 จะขึ้นอีก 10 ข้อมูล มันไม่ขึ้น เราต้องกดปุ่มที่ดึงข้อมูลอีกครั้ง เพื่อจะให้ข้อมูลที่ 11 - 20 ขึ้น คือ อยากทราบว่า จะแก้ปัญหาอย่างไง ให้กดปุ่ม ดึงข้อมูลครั้งเดียว แต่สามารถเปลี่ยนหน้า page ได้เรื่อยๆ โดยไม่ต้องกดปุ่มดึงข้อมูลอีกครั้งอะครับ รบกวนช่วยทีน่ะครับ
Code (ASP)
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SRRPOMF001.ascx.cs" Inherits="DotNetNuke.Modules.Account_Payable_System.UserControl.SRRPOMF001" %>
<%@ Register Assembly="DevExpress.Web.v14.2, Version=14.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<style type="text/css">
.style2
{
height: 67px;
}
</style>
<table style="width:70%; height: 309px;">
<tr>
<td class="style2" bgcolor="#CCCCCC">
<dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Caption="ผู้จำหน่าย "
Theme="SoftOrange" Width="170px" BackColor="White">
</dx:ASPxTextBox>
</td>
<td class="style2" align="center" bgcolor="#CCCCCC">
<dx:ASPxTextBox ID="ASPxTextBox2" runat="server" Width="170px">
</dx:ASPxTextBox>
</td>
<td class="style2" align="center" bgcolor="#CCCCCC">
<dx:ASPxTextBox ID="ASPxTextBox3" runat="server" Caption="ถึง" Width="170px">
</dx:ASPxTextBox>
</td>
<td class="style2" bgcolor="#CCCCCC">
<dx:ASPxTextBox ID="ASPxTextBox4" runat="server" Width="170px">
</dx:ASPxTextBox>
</td>
<td bgcolor="#CCCCCC" class="style2">
<table style="width:100%;">
<tr>
<td>
<dx:ASPxButton ID="ASPxButton3" runat="server" Height="20px"
onclick="ASPxButton3_Click" Text="ดึงข้อมูล" Theme="SoftOrange" Width="85px">
</dx:ASPxButton>
</td>
</tr>
<tr>
<td>
<dx:ASPxButton ID="ASPxButton2" runat="server" Text="ล้างข้อมูล" Width="85px"
Theme="SoftOrange">
</dx:ASPxButton>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" colspan="5">
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="" KeyFieldName="SUPP_ID" Theme="SoftOrange" EnablePagingCallbackAnimation="True"
EnableTheming="True" Width="100%">
<Columns>
<dx:GridViewDataTextColumn FieldName="SUPP_ID" ReadOnly="True" VisibleIndex="0" Visible="false">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="SUPP_CODE" VisibleIndex="1" Caption="รหัสผู้จำหน่าย">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="VALUE_DESC" VisibleIndex="2" Caption="คำนำหน้า">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="SUPP_NAME" VisibleIndex="3" Caption="ชื่อผู้จำหน่าย">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="CONT_NAME" VisibleIndex="4" Caption="ชื่อผู้ติดต่อ">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="TEL_NUMBER" VisibleIndex="5" Caption="เบอร์โทร">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="MOBILE_NUMBER" VisibleIndex="6" Caption="เบอร์มือถือ">
</dx:GridViewDataTextColumn>
</Columns>
<SettingsSearchPanel Visible="True" Delay="500" />
<SettingsPager AlwaysShowPager="true" Visible="False" />
<SettingsBehavior EnableCustomizationWindow="true" ConfirmDelete="True" />
</dx:ASPxGridView>
</td>
</tr>
</table>
Code (C#)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using DevExpress.Web;
using System.Data.SqlClient;
using System.Data;
using ITS_DnnStandard;
using ITS_DnnStandard.webcontrol;
using DotNetNuke.Common;
using DotNetNuke.Entities.Modules;
using System.Collections;
using DevExpress.Web;
namespace DotNetNuke.Modules.Account_Payable_System.UserControl
{
public partial class SRRPOMF001 : System.Web.UI.UserControl
{
SqlConnection con = new SqlConnection(@"Data Source=.\;Initial Catalog=SRR_PROD;User ID=sa;Password=All4one");
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ASPxButton3_Click(object sender, EventArgs e)
{
String Querys = "SELECT SUPPLIER.SUPP_ID, SUPPLIER.SUPP_CODE, SC_DATA_TABLE_DET.VALUE_DESC, SUPPLIER.SUPP_NAME, SUPPLIER.CONT_NAME, SUPPLIER.TEL_NUMBER, SUPPLIER.MOBILE_NUMBER FROM SUPPLIER INNER JOIN SC_DATA_TABLE_DET ON SUPPLIER.TITLE_ID = SC_DATA_TABLE_DET.TABLE_ID_DET ORDER BY SUPPLIER.SUPP_CODE";
SqlCommand cmd = new SqlCommand(Querys, con);
con.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "SUPPLIER");
ASPxGridView1.DataSourceID = null;
ASPxGridView1.DataSource = ds;
ASPxGridView1.DataBind();
con.Close();
}
}
}
Tag : ASP, Ms SQL Server 2008
Date :
2015-08-25 14:53:43
By :
Kevinzen
View :
987
Reply :
1
ดูตัวอย่างการ BindData ครับ
Code (C#)
void Page_Load(object sender,EventArgs e)
{
if(!Page.IsPostBack)
{
BindData();
}
}
void BindData()
{
OleDbConnection objConn = new OleDbConnection();
OleDbCommand objCmd = new OleDbCommand();
OleDbDataAdapter dtAdapter = new OleDbDataAdapter();
DataSet ds = new DataSet();
String strConnString,strSQL;
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Server.MapPath("database/mydatabase.mdb") + ";";
strSQL = "SELECT * FROM customer";
objConn.ConnectionString = strConnString;
objCmd.Connection = objConn;
objCmd.CommandText = strSQL;
objCmd.CommandType = CommandType.Text;
dtAdapter.SelectCommand = objCmd;
dtAdapter.Fill(ds);
//*** BindData to GridView ***//
myGridView.DataSource = ds;
myGridView.DataBind();
dtAdapter = null;
objConn.Close();
objConn = null;
}
void ShowPageCommand(Object sender, GridViewPageEventArgs e)
{
myGridView.PageIndex = e.NewPageIndex;
BindData();
}
Date :
2015-08-25 19:46:56
By :
mr.win
Load balance : Server 02