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 > ถามเรื่อง Checkbox ใน Datalist หน่อยครับ เมื่อ User คลิกเลือก Checkbox มากกว่า 1 (สมมติคลิก 4 ช่องนะครับ)



 

ถามเรื่อง Checkbox ใน Datalist หน่อยครับ เมื่อ User คลิกเลือก Checkbox มากกว่า 1 (สมมติคลิก 4 ช่องนะครับ)

 



Topic : 045934



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



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




เมื่อ User คลิกเลือก Checkbox มากกว่า 1 (สมมติคลิก 4 ช่องนะครับ)
ผมจะส่งข้อมูล 4 ช่องนี้ไปอีกฟอร์มหนึ่งยังไงครับ
Code (VB.NET)
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim chkCate As CheckBox
        Dim lblID As Label
        Dim i As Integer

        For i = 0 To DataList2.Items.Count - 1
            chkCate = DataList2.Items(i).FindControl("CheckBox1")
            lblID = DataList2.Items(i).FindControl("ID_Cars")
            If chkCate.Checked = True Then

                'ส่งข้อมูลไปกับลิงค์-------------------------------------
                Dim url As String = " "
                url = "Compare.aspx?ID_Cars=" & lblID.Text & ""
                Response.Redirect(url, True)
            End If
        Next
    End Sub


ขอบคุณครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-07-23 19:30:24 By : yiam21 View : 1265 Reply : 5
 

 

No. 1



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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


MyDataList.aspx
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="MyDataList.aspx.vb" Inherits="MyDataList" %>

<!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:DataList ID="DataList1" runat="server">
            <ItemTemplate>
                <div style="border: 2px solid black; padding: 10px; width: 150px;">
                    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                    <asp:RadioButtonList ID="RadioButtonList1" runat="server">
                    </asp:RadioButtonList>
                    <br />
                    <asp:CheckBox ID="CheckBox1" runat="server" />             
                </div>
            </ItemTemplate>
            <SeparatorTemplate>
                <div style="height: 10px;"></div>
            </SeparatorTemplate>
        </asp:DataList>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </div>
    </form>
</body>
</html>

MyDataList.aspx.vb
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Imports System.Data

Public Partial Class MyDataList
	Inherits System.Web.UI.Page
	Protected Sub Page_Load(sender As Object, e As EventArgs)
		If Not IsPostBack Then
			DataList1.DataSource = GetDataForDataList()
			DataList1.DataKeyField = "ID"
			DataList1.ItemDataBound += New DataListItemEventHandler(AddressOf DataList1_ItemDataBound)
			DataList1.DataBind()
		End If

		Button1.Click += New EventHandler(AddressOf Button1_Click)
	End Sub

	Protected Sub DataList1_ItemDataBound(sender As Object, e As DataListItemEventArgs)
		Dim Dr As DataRowView = DirectCast(e.Item.DataItem, DataRowView)

		If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
			DirectCast(e.Item.FindControl("Label1"), Label).Text = (CInt(Dr("ID")) + 1).ToString() & ". tungman"
			DirectCast(e.Item.FindControl("RadioButtonList1"), RadioButtonList).DataSource = GetDataForRadioButtonList()
			DirectCast(e.Item.FindControl("RadioButtonList1"), RadioButtonList).DataTextField = "Name"
			DirectCast(e.Item.FindControl("RadioButtonList1"), RadioButtonList).DataValueField = "ID"
			DirectCast(e.Item.FindControl("RadioButtonList1"), RadioButtonList).DataBind()
			DirectCast(e.Item.FindControl("CheckBox1"), CheckBox).Text = String.Format("tungman{0}", (CInt(Dr("ID")) + 1).ToString())
		End If
	End Sub

	Protected Sub Button1_Click(sender As Object, e As EventArgs)
		Dim chk As String = String.Empty
		Dim count As Integer = 0

		For Each item As DataListItem In DataList1.Items
			Dim aCheckBox As CheckBox = DirectCast(item.FindControl("CheckBox1"), CheckBox)

			If aCheckBox.Checked = True Then
				If count <> 0 Then
					chk += ","
				End If

				chk += DataList1.DataKeys(item.ItemIndex).ToString()
                  count = count + 1
			End If
		Next

		Response.Redirect(String.Format("~/Compare.aspx?ID_Cars={0}", chk))
	End Sub

	' สร้าง DataTable เพื่อเป็นตัวอย่างไม่ต้องสนใจ 
	Private Function GetDataForDataList() As DataTable
		Dim Dt As New DataTable()
		Dt.Columns.Add(New DataColumn("ID", System.Type.[GetType]("System.Int32")))

		For i As Integer = 0 To 2
			Dim Dr As DataRow = Dt.NewRow()
			Dr("ID") = i
			Dt.Rows.Add(Dr)
		Next

		Return Dt
	End Function

	' สร้าง DataTable เพื่อเป็นตัวอย่างไม่ต้องสนใจ 
	Private Function GetDataForRadioButtonList() As DataTable
		Dim Dt As New DataTable()
		Dt.Columns.Add(New DataColumn("ID", System.Type.[GetType]("System.Int32")))
		Dt.Columns.Add(New DataColumn("Name", System.Type.[GetType]("System.String")))

		For i As Integer = 0 To 4
			Dim Dr As DataRow = Dt.NewRow()
			Dr("ID") = i
			Dr("Name") = "Item" & i.ToString()
			Dt.Rows.Add(Dr)
		Next

		Return Dt
	End Function
End Class







Date : 2010-07-23 21:15:28 By : tungman
 


 

No. 2



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



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


มันเกิด error ตรงนี้ครับ มันไม่พบค่าที่เลือกครับ

Code
Error


ปล.ชื่อ Datalist ของผมใช้ชื่อ Datalist2 นะครับ
ขอบคุณครับ
Date : 2010-07-24 13:13:17 By : yiam21
 

 

No. 3



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



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


ผมทำได้แล้วครับ ขอบคุณมาก ๆ เลยนะครับ ที่เป็นแนวให้
จาก
chk += DataList2.DataKeys(item.ItemIndex).ToString()

เป็น
chk += DirectCast(item.FindControl("ID_Cars"), Label).Text

แล้วหน้ารับค่าสร้าง Array แล้วแบ่งค่า
Dim getArray As Array = Split(Request.QueryString("ID_Cars"), ",")

ขอบคุณนะครับ
Date : 2010-07-25 21:02:52 By : yiam21
 


 

No. 4



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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


ก็ได้เหมือนกันครับ แต่ผมว่าที่ error ตอนแรกเพราะคุณไม่ได้กำหนด id ให้แต่ละ item

มันเลยฟ้องว่า out of range เพราะในตัวอย่างผมกำหนด datakey ให้ทุกๆ item

ไว้แล้วด้วย property DataKeyField ในบรรทัดที่ 14
Date : 2010-07-25 22:21:57 By : tungman
 


 

No. 5



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



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


ได้เอาข้อมูลไปดัดแปลงใช้เหมือนกันเลยค่ะ เป็นประโยชน์มากเลย
Date : 2011-03-15 14:56:07 By : linzuming
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่อง Checkbox ใน Datalist หน่อยครับ เมื่อ User คลิกเลือก Checkbox มากกว่า 1 (สมมติคลิก 4 ช่องนะครับ)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่