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 > ASP.Net สอบถาม วิธีส่งค่าที่ได้ทำการ Checkbox ที่ Gridview 1 ไปที่ Gridview 2 ค่ะ ^ - ^"



 

ASP.Net สอบถาม วิธีส่งค่าที่ได้ทำการ Checkbox ที่ Gridview 1 ไปที่ Gridview 2 ค่ะ ^ - ^"

 



Topic : 100050



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



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




สอบถาม วิธีส่งค่าที่ได้ทำการcheckbox ที่ Gridview 1 ไปที่ Gridview 2 หน่อยนะคะ

Code (C#)
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Xml;
using System.Xml.Serialization;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Text;
using System.Web.Services.Protocols;
using System.Web.Configuration;
using System.Data.OleDb;
using System.Security;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Web;
using CrystalDecisions.Shared;
using System.Collections;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Globalization;
using System.Threading;

 protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                BindGridview();
                BindSecondGrid();
            }

        }

        protected void BindGridview()
        {

            string strConn = "Data Source=KKD0623HIT\\SQLEXPRESS ;Persist Security Info=True;Initial Catalog=mydatabase;User ID=sa;password=12345";
            string query = "SELECT CustomerID , Name , Email";
            query += " FROM Customer ";

            DataTable dt = new DataTable();
            SqlDataAdapter adp = new SqlDataAdapter(query, strConn);
            adp.Fill(dt);
            adp.Dispose();

            gvDetails.DataSource = dt;
            gvDetails.DataBind();
        }
        protected void chkSelect_CheckChanged(object sender, EventArgs e)
        {
            GetSelectedRows();
            BindSecondGrid();
        }
        protected void BindSecondGrid()
        {
            DataTable dt = (DataTable)ViewState["GetRecords"];
            gvShow.DataSource = dt;
            gvShow.DataBind();
        }
        private void GetSelectedRows()
        {
            DataTable dt;
            if (ViewState["GetRecords"] != null)
                dt = (DataTable)ViewState["GetRecords"];
            else
                dt = CreateTable();
            for (int i = 0; i < gvDetails.Rows.Count; i++)
            {
                CheckBox chk = (CheckBox)gvDetails.Rows[i].Cells[0].FindControl("checkselect");
                if (chk.Checked)
                {
                    dt = AddGridRow(gvDetails.Rows[i], dt);
                }
                else
                {
                    dt = RemoveRow(gvDetails.Rows[i], dt);
                }
            }
            ViewState["GetRecords"] = dt;
        }
        private DataTable CreateTable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("CustomerID");
            dt.Columns.Add("Name");
            dt.Columns.Add("Email");

            dt.AcceptChanges();
            return dt;
        }
        private DataTable AddGridRow(GridViewRow gvRow, DataTable dt)
        {
            DataRow[] dr = dt.Select("CustomerID = '" + gvRow.Cells[1].Text + "'");
            if (dr.Length <= 0)
            {
                dt.Rows.Add();
                int rowscount = dt.Rows.Count - 1;
                dt.Rows[rowscount]["CustomerID"] = gvRow.Cells[1].Text;
                dt.Rows[rowscount]["Name"] = gvRow.Cells[2].Text;
                dt.Rows[rowscount]["Email"] = gvRow.Cells[3].Text;

                dt.AcceptChanges();
            }
            return dt;
        }
        private DataTable RemoveRow(GridViewRow gvRow, DataTable dt)
        {
            DataRow[] dr = dt.Select("CustomerID = '" + gvRow.Cells[1].Text + "'");
            if (dr.Length > 0)
            {
                dt.Rows.Remove(dr[0]);
                dt.AcceptChanges();
            }
            return dt;
        }

    }
}


จากโค้ดด้านบนจะเป็นการดึงข้อมูลจากฐานข้อมูลออกมาเเล้วแสดงใน gvDetails ค่ะ แล้วถ้ากด CheckBox ที่ช่องด้านหน้า มันจะสามารถส่งข้อมูลใน Rows นั้นไปแสดงใน gvShow ซึ่งถ้าทำปกติก็จะไม่มีปัญหาอะไร เพียงแต่ตอนนี้ลองทำ Textbox แล้วทำ Button ไว้กดค้นหาข้อมูลชุดใหม่มาแสดงใน gvDetails ทีนี้พอกด CheckBox เพื่อเลือก Rows นั้นไปแสดงใน gvShow ข้อมูลชุดแรกได้ที่การส่งมาก่อนหน้านี้จะถูกแทนที่ด้วยชุดข้อมูลใหม่ค่ะ พอจะมีวิธีแก้ไขให้ข้อมูลที่ถูกเลือกต่อกันไปเลยหรือแนะนำบ้างไหมคะ แหะๆ ^_^"



Tag : ASP.NET VS 2012 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-09-04 20:36:10 By : verxus_007 View : 1245 Reply : 1
 

 

No. 1

Guest


เจ้าของกระทู้นี่ เดี๋ยวครับ เดี๋ยวคะ

ตกลงได้ยัง ว่าต้องการเป็นเพศไหน

https://www.thaicreate.com/dotnet/forum/099943.html






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-05 08:30:59 By : ห้ามตอบเกินวันละ 2 กระทู้
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ASP.Net สอบถาม วิธีส่งค่าที่ได้ทำการ Checkbox ที่ Gridview 1 ไปที่ Gridview 2 ค่ะ ^ - ^"
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่