Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > Edit ข้อมูลใน Gridview แล้วข้อมูลที่แสดงในการ Edit ไม่ตรงกับที่เลือกไว้



 

Edit ข้อมูลใน Gridview แล้วข้อมูลที่แสดงในการ Edit ไม่ตรงกับที่เลือกไว้

 



Topic : 088236



โพสกระทู้ ( 20 )
บทความ ( 0 )



สถานะออฟไลน์




รบกวนแนะนำเครื่องมือที่จะช่วยได้หน่อยค่ะ พอดีนำโค้ดจากเว็บ Thaicreate ไปประยุกต์ใช้แต่ติดปัญหาดังนี้ค่ะ
1. พอค้นหาจังหวัดแล้วแสดงรายละเอียดดังนี้ค่ะ

GrideView1

2. กด Edit แล้วข้อมูลมาไม่ตรงค่ะ

GrideView2

ขอบคุณล่วงหน้าค่ะ



Tag : .NET, Ms SQL Server 2005, Web (ASP.NET), VS 2010 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-12-19 09:36:15 By : pha_story View : 1280 Reply : 9
 

 

No. 1

Guest


กำหนด datakey อะไรไว้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-19 10:12:05 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 2



โพสกระทู้ ( 20 )
บทความ ( 0 )



สถานะออฟไลน์


ID ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-19 10:33:33 By : pha_story
 

 

No. 3



โพสกระทู้ ( 13 )
บทความ ( 0 )



สถานะออฟไลน์


ใช้ภาษาอะไรครับ c# หรือ asp.net
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-19 15:47:25 By : tiravood
 


 

No. 4

Guest


ถ้ากำหนด datakey แล้ว

งั้นเอาโค้ดมาดู อยากดูตรง row event หน่อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-19 16:53:38 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 5



โพสกระทู้ ( 20 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมาก ๆ ค่ะ เกี่ยวกับแนวทางตอนนี้ได้แล้วค่ะ ขอบคุณจริง ๆ นะค่ะ ที่พูดเกี่ยวกับ "อยากดูตรง row event หน่อย"

หาตั้งนาน


ประวัติการแก้ไข
2012-12-20 09:47:31
2012-12-20 09:53:00
2012-12-20 09:54:01
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-20 09:46:51 By : pha_story
 


 

No. 6



โพสกระทู้ ( 20 )
บทความ ( 0 )



สถานะออฟไลน์


Code (VB.NET)
'*********************** ตอนแสดงข้อมูลปกติ ******************
    Sub BindDataAMPHUR()
        strSQL = "SELECT * FROM Add_Amphur ORDER BY AMPHUR_NAMETH"

        Dim dtReader As SqlDataReader
        objCmd = New SqlCommand(strSQL, objConn)
        dtReader = objCmd.ExecuteReader()

        '*** BindData to MyAMPHUR ***'
        MyAMPHUR.DataSource = dtReader
        MyAMPHUR.DataBind()

        dtReader.Close()
        dtReader = Nothing

    End Sub
'*********************** ตอนแสดงข้อมูลที่ใช้ DropdownList ค้นหา ******************
    Sub BindDataAMPHUR2()
        strSQL = "SELECT * FROM Add_Amphur WHERE (PROVINCE_ID like '" & strProvinces & "') "

        Dim dtReader As SqlDataReader
        objCmd = New SqlCommand(strSQL, objConn)
        dtReader = objCmd.ExecuteReader()

        '*** BindData to MyAMPHUR ***'
        MyAMPHUR.DataSource = dtReader
        MyAMPHUR.DataBind()

        dtReader.Close()
        dtReader = Nothing

    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-20 09:59:07 By : pha_story
 


 

No. 7

Guest


อยากดูต้องกำหนด datakeyname

กับตรง handle row edit event

ไม่ใช่ตรง bind data
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-20 10:40:18 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 8



โพสกระทู้ ( 20 )
บทความ ( 0 )



สถานะออฟไลน์


ภาทำแบบนี้น่ะค่ะ เขียนตามความเข้าใจตัวเอง T_T

Protected Sub MyAMPHUR_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs) Handles MyAMPHUR.RowEditing
MyAMPHUR.EditIndex = e.NewEditIndex
MyAMPHUR.ShowFooter = False
If txtSearchProvinces.Text = "78" Then
BindDataAMPHUR()
Else
BindDataAMPHUR2()
End If
End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-20 11:06:36 By : pha_story
 


 

No. 9

Guest


WebGridView.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebGridView.aspx.cs" Inherits="WebGridView" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:DropDownList ID="DropDownList1" runat="server">
        </asp:DropDownList>
        <asp:Button ID="ButtonSearch" runat="server" Text="Search" 
            onclick="ButtonSearch_Click" />
        <br />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="ButtonSearch" EventName="Click" />
            </Triggers>
            <ContentTemplate>
                <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                    onrowcancelingedit="GridView1_RowCancelingEdit" 
                    onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing" 
                    onrowupdating="GridView1_RowUpdating">
                    <Columns>
                        <asp:BoundField DataField="ID" HeaderText="ID" />
                        <asp:BoundField DataField="Name" HeaderText="Name" />
                        <asp:CommandField ShowEditButton="True" />
                        <asp:CommandField ShowDeleteButton="True" />
                    </Columns>
                </asp:GridView>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>


WebGridView.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;

public partial class WebGridView : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DropDownList1.DataSource = GetCatalog();
            DropDownList1.DataValueField = "ID";
            DropDownList1.DataTextField = "CatalogName";
            DropDownList1.DataBind();

            BindData(Convert.ToInt32(DropDownList1.SelectedItem.Value));
        }
    }

    protected void ButtonSearch_Click(object sender, EventArgs e)
    {
        BindData(Convert.ToInt32(DropDownList1.SelectedItem.Value));
    }

    protected void BindData(int dataID)
    {
        DataTable dtData = GetData();

        DataTable data = (from d in dtData.AsEnumerable()
                          where d.Field<int>("CatalogID") == dataID
                          select d).CopyToDataTable();

        GridView1.DataSource = data;
        GridView1.DataKeyNames = new string[] { "ID" };
        GridView1.DataBind();
    }

    protected void GridView1_DataBinding(object sender, EventArgs e)
    { 
    
    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView gv = (GridView)sender;
        gv.EditIndex = e.NewEditIndex;

        BindData(Convert.ToInt32(DropDownList1.SelectedItem.Value));
    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    { 
    
    }

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView gv = (GridView)sender;
        gv.EditIndex = -1;

        BindData(Convert.ToInt32(DropDownList1.SelectedItem.Value));
    }

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    { 
    
    }

    protected DataTable GetCatalog()
    {
        DataTable dtCatalog = new DataTable();
        dtCatalog.Columns.Add(new DataColumn("ID", typeof(int)));
        dtCatalog.Columns.Add(new DataColumn("CatalogName", typeof(string)));

        string[] catalog = new string[] { "ชื่อวัน", "ชื่อเดือน" };

        for (int i = 0; i < 2; i++)
        {
            DataRow drNew = dtCatalog.NewRow();
            drNew["ID"] = i + 1;
            drNew["CatalogName"] = catalog[i];
            dtCatalog.Rows.Add(drNew);
        }

        return dtCatalog;
    }

    protected DataTable GetData()
    {
        DataTable dtData = new DataTable();
        dtData.Columns.Add(new DataColumn("ID", typeof(int)));
        dtData.Columns.Add(new DataColumn("CatalogID", typeof(int)));
        dtData.Columns.Add(new DataColumn("Name", typeof(string)));

        string[] dayName = new string[] { "วันอาทิตย์", "วันจันทร์", "วันอังคาร", "วันพุธ", "วันพฤหัสบดี", "วันศุกร์", "วันเสาร์" };

        for (int i = 0; i < 7; i++)
        {
            DataRow drNew = dtData.NewRow();
            drNew["ID"] = i + 1;
            drNew["CatalogID"] = 1;
            drNew["Name"] = dayName[i];
            dtData.Rows.Add(drNew);
        }

        for (int i = 0; i < 12; i++)
        {
            DataRow drNew = dtData.NewRow();
            drNew["ID"] = i + 8;
            drNew["CatalogID"] = 2;
            drNew["Name"] = (new DateTime(2012, i + 1, 1)).ToString("MMMM", new System.Globalization.CultureInfo("th-TH"));
            dtData.Rows.Add(drNew);
        }

        return dtData;
    }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-20 13:34:29 By : ห้ามตอบเกินวันละ 2 กระทู้
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Edit ข้อมูลใน Gridview แล้วข้อมูลที่แสดงในการ Edit ไม่ตรงกับที่เลือกไว้
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่