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,036

HOME > .NET Framework > Forum > Dropdownlist ใน Gridviewและ DetailView สอบถามหน่อยคะ คือว่าทำโปรเจกแต่สงสัย เรื่องการที่เราเอา DropDownlist มาใส่ใน Detailview



 

Dropdownlist ใน Gridviewและ DetailView สอบถามหน่อยคะ คือว่าทำโปรเจกแต่สงสัย เรื่องการที่เราเอา DropDownlist มาใส่ใน Detailview

 



Topic : 039751



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



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




สอบถามหน่อยคะ คือว่าทำโปรเจกแต่สงสัย เรื่องการที่เราเอาDropDownlist มาใส่ใน Detailview
จะต้องเปลี่ยน จาก BoundField มาเป็น TempleteField ก่อนแล้วทีนี้ ลากDropdowlist มาใส่ไว้ใน EditItemTemplate และ InsertItemTemplate แล้วก็กำหนดค่าตรงEditItem ของDropdowlist เป็นค่าที่ต้องการแล้ว อยากทราบว่า เวลาตอนรัน กด Editทำไมข้อมูลที่รันมันไม่เปลี่ยนตามคะ(ข้อมูลในดอปดาวลิสมันขึ้นตามที่เราตั้งค่ามันไว้อยุ่คะ) แต่ในกิดวิวไม่เปลี่ยนตามคะ มันยังคงเหมือนเดิมเราต้องไปใส่โค้ดให้มันอัพเเดทในกิดวิว หรือว่าต้อองใส่โค้ด ในพวกItemupdate และ ItemInsertedหรือเปล่าคะ ทำมาสามสี่วันแล้วคะ หาไม่เจอเลย เพราะว่า ข้อมูลในฐานข้อมูลที่ต้องการเปลี่ยนมันไม่เปลลี่ยนตามคะ

รบกวนช่วยตอบด้วยคะ เพิ่งหัดทำคะ ใช้C#นะคะ[b][/b]



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-03-01 22:04:53 By : Be_Bow View : 3039 Reply : 3
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

การแทรก DropDownList ลงใน GridView อาจจะทำการควบคุม Event ยากกว่าใส่ข้างนอกครับ เพราะจะต้องทำการ FindControl ตัว DropDownList ใน GridView และทำการอ่านค่า Event อีกที






Date : 2010-03-13 09:49:40 By : webmaster
 


 

No. 2



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



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


ขอบคุณคะคุณ MR.WIN
ตอนนี้ทำได้แล้วคะ แต่ไม่รู้ว่าวิธีจริงๆเขาทำแบบนี้รึเปล่าคะ
คือเอาดรอปดาวไปวางตามที่บอกใน EditItemTemplate,InsertItemTemplate แล้วกำหนดค่าในsource Text='<%# Bind("emp_status") %> ตรงEdit และ ตรง Insert ใช้SelectedValue='<%# Bind("emp_status") %>'> ลองทำแบบนี้มันก็อัพเดทและแก้ไขให้นะคะ อยากทราบว่านอกจากนี้มีวิธีอื่นไหมคะ ไว้เผื่อทำโปรเจกหน้าๆคะ
Date : 2010-03-22 20:54:49 By : Be_Bow
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

Code (VB.NET)
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
	Dim objConn As OleDbConnection
	Dim objCmd As OleDbCommand
	Dim strSQL As String

	Sub Page_Load(sender As Object, e As EventArgs)
		   Dim strConnString As String
		   strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& _
		   Server.MapPath("database/mydatabase2.mdb")&";"
		   objConn = New OleDbConnection(strConnString)
		   objConn.Open()

		   IF Not Page.IsPostBack() Then	
			BindData()
		   End IF
	End Sub

	Sub BindData()	   
	   strSQL = "SELECT * FROM customer"

	   Dim dtReader As OleDbDataReader
	   objCmd = New OleDbCommand(strSQL, objConn)
	   dtReader = objCmd.ExecuteReader()

	   '*** BindData to GridView ***'
	   myGridView.DataSource = dtReader
	   myGridView.DataBind()

	   dtReader.Close()
	   dtReader = Nothing

	End Sub

	Sub Page_UnLoad()
	   objConn.Close()
	   objConn = Nothing
	End Sub

	Function DataTableCountryCode() As DataTable
		Dim strConnString As String
		Dim dtAdapter As OleDbDataAdapter 
		Dim dt As New DataTable
			  
		strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& _
		Server.MapPath("database/mydatabase2.mdb")&";"
		objConn = New OleDbConnection(strConnString)
		objConn.Open()

		Dim strSQL As String		
		strSQL = "SELECT * FROM country"

		dtAdapter = New OleDbDataAdapter(strSQL, objConn)
		dtAdapter.Fill(dt)

		dtAdapter = Nothing

		Return dt

	End Function

	Sub modEditCommand(sender As Object, e As GridViewEditEventArgs)
		myGridView.EditIndex = e.NewEditIndex
		myGridView.ShowFooter = False
		BindData()
	End Sub

	Sub modCancelCommand(sender As Object, e As GridViewCancelEditEventArgs)
		myGridView.EditIndex = -1
		myGridView.ShowFooter = True
		BindData()
	End Sub

	Sub modDeleteCommand(sender As Object, e As GridViewDeleteEventArgs)
        strSQL = "DELETE FROM customer WHERE CustomerID = '" & myGridView.DataKeys.Item(e.RowIndex).Value & "'"
        objCmd = New OleDbCommand(strSQL, objConn)
        objCmd.ExecuteNonQuery()

        myGridView.EditIndex = -1
        BindData()
	End Sub


    Sub myGridView_RowCommand(source As Object, e As GridViewCommandEventArgs)
		If e.CommandName = "Add" Then
            '*** CustomerID ***'
            Dim txtCustomerID As TextBox = CType(myGridView.FooterRow.FindControl("txtAddCustomerID"), TextBox)
            '*** Name ***'
            Dim txtName As TextBox = CType(myGridView.FooterRow.FindControl("txtAddName"), TextBox)
            '*** Email ***'
            Dim txtEmail As TextBox = CType(myGridView.FooterRow.FindControl("txtAddEmail"), TextBox)
            '*** CountryCode ***'
            Dim ddlCountryCode As DropDownList = CType(myGridView.FooterRow.FindControl("ddlAddCountryCode"), DropDownList)
            '*** Budget ***'
            Dim txtBudget As TextBox = CType(myGridView.FooterRow.FindControl("txtAddBudget"), TextBox)
            '*** Used ***'
            Dim txtUsed As TextBox = CType(myGridView.FooterRow.FindControl("txtAddUsed"), TextBox)

            strSQL = "INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) " & _
            " VALUES ('" & txtCustomerID.Text & "','" & txtName.Text & "','" & txtEmail.Text & "' " & _
            " ,'" & ddlCountryCode.SelectedItem.Value & "','" & txtBudget.Text & "','" & txtUsed.Text & "') "
            objCmd = New OleDbCommand(strSQL, objConn)
            objCmd.ExecuteNonQuery()

            BindData()
        End If
    End Sub
	
	Sub myGridView_RowDataBound(source As Object, e As GridViewRowEventArgs)
			
			'*** Footer ***'
			IF e.Row.RowType = DataControlRowType.Footer Then

				'*** CountryCode ***'
				Dim ddlCountryCode As DropDownList = CType(e.Row.FindControl("ddlAddCountryCode"), DropDownList)
				IF Not IsNothing(ddlCountryCode) Then
					With ddlCountryCode
						.DataSource = DataTableCountryCode
						.DataTextField = "CountryName"
						.DataValueField = "CountryCode"
						.DataBind()
					End With						
				End IF

			End IF

			'*** Edit ***'
			IF e.Row.RowType = DataControlRowType.DataRow Then

				'*** CustomerID ***'
				Dim txtCustomerID As TextBox = CType(e.Row.FindControl("txtEditCustomerID"), TextBox)
				IF Not IsNothing(txtCustomerID) Then
					txtCustomerID.Text = e.Row.DataItem("CustomerID")
				End IF
				'*** Name ***'
				Dim txtName As TextBox = CType(e.Row.FindControl("txtEditName"), TextBox)
				IF Not IsNothing(txtName) Then
					txtName.Text = e.Row.DataItem("Name")
				End IF
				'*** Email ***'
				Dim txtEmail As TextBox = CType(e.Row.FindControl("txtEditEmail"), TextBox)
				IF Not IsNothing(txtEmail) Then
					txtEmail.Text = e.Row.DataItem("Email")
				End IF
				'*** CountryCode ***'
				Dim ddlCountryCode As DropDownList = CType(e.Row.FindControl("ddlEditCountryCode"), DropDownList)
				IF Not IsNothing(ddlCountryCode) Then
					With ddlCountryCode
						.DataSource = DataTableCountryCode
						.DataTextField = "CountryName"
						.DataValueField = "CountryCode"
						.DataBind()						
					End With						
					ddlCountryCode.SelectedIndex = ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByValue(e.Row.DataItem("CountryCode")))
				End IF
				'*** Budget ***'
				Dim txtBudget As TextBox = CType(e.Row.FindControl("txtEditBudget"), TextBox)
				IF Not IsNothing(txtBudget) Then
					txtBudget.Text = e.Row.DataItem("Budget")
				End IF
				'*** Used ***'
				Dim txtUsed As TextBox = CType(e.Row.FindControl("txtEditUsed"), TextBox)
				IF Not IsNothing(txtUsed) Then
					txtUsed.Text = e.Row.DataItem("Used")
				End IF

			End IF

	End Sub

	Sub modUpdateCommand(s As Object, e As GridViewUpdateEventArgs)

		'*** CustomerID ***'
        Dim txtCustomerID As TextBox = CType(myGridView.Rows(e.RowIndex).FindControl("txtEditCustomerID"), TextBox)
        '*** Name ***'
        Dim txtName As TextBox = CType(myGridView.Rows(e.RowIndex).FindControl("txtEditName"), TextBox)
        '*** Email ***'
        Dim txtEmail As TextBox = CType(myGridView.Rows(e.RowIndex).FindControl("txtEditEmail"), TextBox)
        '*** CountryCode ***'
        Dim ddlCountryCode As DropDownList = CType(myGridView.Rows(e.RowIndex).FindControl("ddlEditCountryCode"), DropDownList)
        '*** Budget ***'
        Dim txtBudget As TextBox = CType(myGridView.Rows(e.RowIndex).FindControl("txtEditBudget"), TextBox)
        '*** Used ***'
        Dim txtUsed As TextBox = CType(myGridView.Rows(e.RowIndex).FindControl("txtEditUsed"), TextBox)

        strSQL = "UPDATE customer SET CustomerID = '" & txtCustomerID.Text & "' " & _
        " ,Name = '" & txtName.Text & "' " & _
        " ,Email = '" & txtEmail.Text & "' " & _
        " ,CountryCode = '" & ddlCountryCode.SelectedItem.Value & "' " & _
        " ,Budget = '" & txtBudget.Text & "' " & _
        " ,Used = '" & txtUsed.Text & "' " & _
        " WHERE CustomerID = '" & myGridView.DataKeys.Item(e.RowIndex).Value & "'"
        objCmd = New OleDbCommand(strSQL, objConn)
        objCmd.ExecuteNonQuery()

        myGridView.EditIndex = -1
        myGridView.ShowFooter = True
        BindData()
	End Sub

</script>
<html>
<head>
    <title>ThaiCreate.Com ASP.NET - GridView</title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView id="myGridView" runat="server" AutoGenerateColumns="False" 
	ShowFooter="True" 
	DataKeyNames="CustomerID"
	OnRowEditing="modEditCommand"
	OnRowCancelingEdit="modCancelCommand"
	OnRowDeleting="modDeleteCommand"
	OnRowUpdating="modUpdateCommand"
	OnRowCommand="myGridView_RowCommand"
	OnRowDataBound="myGridView_RowDataBound">

	<Columns>

	<asp:TemplateField HeaderText="CustomerID">
		<ItemTemplate>
			<asp:Label id="lblCustomerID" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CustomerID") %>'></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:TextBox id="txtEditCustomerID" size="5" runat="server"></asp:TextBox>
		</EditItemTemplate>
		<FooterTemplate>
			<asp:TextBox id="txtAddCustomerID" size="5" runat="server"></asp:TextBox>
		</FooterTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Name">
		<ItemTemplate>
			<asp:Label id="lblName" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>'></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:TextBox id="txtEditName" size="10" runat="server"></asp:TextBox>
		</EditItemTemplate>
		<FooterTemplate>
			<asp:TextBox id="txtAddName" size="10" runat="server"></asp:TextBox>
		</FooterTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Email">
		<ItemTemplate>
			<asp:Label id="lblEmail" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Email") %>'></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:TextBox id="txtEditEmail" size="20" runat="server"></asp:TextBox>
		</EditItemTemplate>
		<FooterTemplate>
			<asp:TextBox id="txtAddEmail" size="20" runat="server"></asp:TextBox>
		</FooterTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="CountryCode">
		<ItemTemplate>
			<asp:Label id="lblCountryCode" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CountryCode") %>'></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:DropDownList id="ddlEditCountryCode" runat="server"></asp:DropDownList>
		</EditItemTemplate>
		<FooterTemplate>
			<asp:DropDownList id="ddlAddCountryCode" runat="server"></asp:DropDownList>
		</FooterTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Budget">
		<ItemTemplate>
			<asp:Label id="lblBudget" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Budget") %>'></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:TextBox id="txtEditBudget" size="6" runat="server"></asp:TextBox>
		</EditItemTemplate>
		<FooterTemplate>
			<asp:TextBox id="txtAddBudget" size="6" runat="server"></asp:TextBox>
		</FooterTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Used">
		<ItemTemplate>
			<asp:Label id="lblUsed" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Used") %>'></asp:Label>
		</ItemTemplate>
		<EditItemTemplate>
			<asp:TextBox id="txtEditUsed" size="6" runat="server"></asp:TextBox>
		</EditItemTemplate>
		<FooterTemplate>
			<asp:TextBox id="txtAddUsed" size="6" runat="server"></asp:TextBox>
			<asp:Button id="btnAdd" runat="server" Text="Add" CommandName="Add"></asp:Button>
		</FooterTemplate>
	</asp:TemplateField>

	<asp:CommandField ShowEditButton="True" CancelText="Cancel" DeleteText="Delete" EditText="Edit" UpdateText="Update" HeaderText="Modify"  />
	<asp:CommandField ShowDeleteButton="True" HeaderText="Delete" />
	
	</Columns>
</asp:GridView>
</form>
</body>
</html>




Go to : ASP.NET andamp; Dropdownlist in GridView??? (By VB.NET , C#)
Date : 2010-09-10 15:16:34 By : webmaster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Dropdownlist ใน Gridviewและ DetailView สอบถามหน่อยคะ คือว่าทำโปรเจกแต่สงสัย เรื่องการที่เราเอา DropDownlist มาใส่ใน Detailview
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่