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 > ทำ link ใน GridView ใน asp.net ด้วย C# ผมอยากทราบวิธีการใส่ link ไปหน้าใหม่ใน dataGridView นะครับ



 

ทำ link ใน GridView ใน asp.net ด้วย C# ผมอยากทราบวิธีการใส่ link ไปหน้าใหม่ใน dataGridView นะครับ

 



Topic : 030017



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



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




ผมอยากทราบวิธีการใส่ link ไปหน้าใหม่ใน dataGridView นะครับ
คือผมได้ทำการ Query ข้อมูลมาแสดงใน dataGridView แล้วผมอยากให้คลิก link ในข้อมูลที่แสดงออกมาได้นะครับทำยังไง


string sql = "SELECT * FROM catagory_help WHERE section_id='" + section_id + "'";
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader daread = cmd.ExecuteReader();
            while (daread.Read())
            {
                DataRow drows = dt_data.NewRow();
                string cat_id = daread["cat_id"].ToString();
                drows[0] = daread["cat_name"];
                dt_data.Rows.Add(drows);
            }
            conn.Close();
        }
        GridView1.DataSource = dt_data;
        GridView1.DataBind();


ผลที้ได้จากการ Query
:: เรื่อง :: หัวข้อ

sssssssssssss ข้อมูลที่ได้จารการ Query
aaaaaaaaaaa ข้อมูลที่ได้จารการ Query
bbbbbbbbbb ข้อมูลที่ได้จารการ Query

ผมอยากให้ ss,aa,bb สามารถคลิก link ไปยังหน้าอื่นได้นะครับ วรผู้รู้ช่วยตอบที
ขอบคุณครับ....



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-08-06 09:57:50 By : loogway View : 9547 Reply : 6
 

 

No. 1



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

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

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

ใช้การ FindControl ใน Databound น่ะครับ

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

     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/mydatabase.mdb")&";"
            objConn = New OleDbConnection(strConnString)
            objConn.Open()

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

    Sub BindData()
           Dim strSQL As String
           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

	Private Sub myGridView_RowDataBound(sender As Object, e As GridViewRowEventArgs) 
		'*** CustomerID ***'
		Dim hplCustomerID As Hyperlink = CType(e.Row.FindControl("hplCustomerID"),Hyperlink)
		IF Not IsNothing(hplCustomerID) Then
			hplCustomerID.Text = e.Row.DataItem("CustomerID")
			hplCustomerID.NavigateUrl  = "Page.aspx?CustomerID=" & e.Row.DataItem("CustomerID")
		End IF

		'*** Email ***'
		Dim lblName As Label = CType(e.Row.FindControl("lblName"),Label)
		IF Not IsNothing(lblName) Then
			lblName.Text = e.Row.DataItem("Name")
		End IF

		'*** Name ***'
		Dim lblEmail As Label = CType(e.Row.FindControl("lblEmail"),Label)
		IF Not IsNothing(lblEmail) Then
			lblEmail.Text = e.Row.DataItem("Email")
		End IF

		'*** CountryCode ***'
		Dim lblCountryCode As Label = CType(e.Row.FindControl("lblCountryCode"),Label)
		IF Not IsNothing(lblCountryCode) Then
			lblCountryCode.Text = e.Row.DataItem("CountryCode")
		End IF

		'*** Budget ***'
		Dim lblBudget As Label = CType(e.Row.FindControl("lblBudget"),Label)
		IF Not IsNothing(lblBudget) Then
			lblBudget.Text = FormatNumber(e.Row.DataItem("Budget"),2)
		End IF

		'*** Used ***'
		Dim lblUsed As Label = CType(e.Row.FindControl("lblUsed"),Label)
		IF Not IsNothing(lblUsed) Then
			lblUsed.Text = FormatNumber(e.Row.DataItem("Used"),2)
		End IF
	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" onRowDataBound="myGridView_RowDataBound">

	<Columns>

	<asp:TemplateField HeaderText="Select">
		<ItemTemplate>
			<asp:HyperLink id="hplCustomerID" runat="server"></asp:HyperLink>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="CustomerID">
		<ItemTemplate>
			<asp:Label id="lblCustomerID" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Name">
		<ItemTemplate>
			<asp:Label id="lblName" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Email">
		<ItemTemplate>
			<asp:Label id="lblEmail" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="CountryCode">
		<ItemTemplate>
			<asp:Label id="lblCountryCode" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Budget">
		<ItemTemplate>
			<asp:Label id="lblBudget" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Used">
		<ItemTemplate>
			<asp:Label id="lblUsed" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	</Columns>

</asp:GridView>
</form>
</body>
</html>







Date : 2009-08-06 10:07:25 By : webmaster
 


 

No. 2

Guest


ลืมบอกครับว่าผมเขียน ASP.NET เขียนแบบ C# นะครับ
Date : 2009-08-06 11:00:05 By : loogway
 

 

No. 3



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

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

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

Code (C#)
<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">

	OleDbConnection objConn;
	OleDbCommand objCmd;

    void Page_Load(object sender,EventArgs e)
	{
		String strConnString;
		strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
		Server.MapPath("database/mydatabase.mdb") + ";";
		objConn = new OleDbConnection(strConnString);
		objConn.Open();
		
		if(!Page.IsPostBack)
		{
			BindData();
		}
    }

	void BindData()
	{
		String strSQL;
		strSQL = "SELECT * FROM customer";

		OleDbDataReader dtReader;
		objCmd = new OleDbCommand(strSQL, objConn);
		dtReader = objCmd.ExecuteReader();
		
		//*** BindData to GridView ***//
		myGridView.DataSource = dtReader;
		myGridView.DataBind();

		dtReader.Close();
		dtReader = null;

	}    

	void Page_UnLoad()
	{
		objConn.Close();
		objConn = null;
	}

	void myGridView_RowDataBound(Object s, GridViewRowEventArgs e) 
	{

		//*** HyperLink CustomerID ***//
		HyperLink hplCustomerID = (Label)(e.Row.FindControl("hplCustomerID"));
		if (hplCustomerID != null)
		{
			hplCustomerID.Text = (string)DataBinder.Eval(e.Row.DataItem, "CustomerID");
			hplCustomerID.HyperLink = "Page.aspx?CustomerID=" + (string)DataBinder.Eval(e.Row.DataItem, "CustomerID");
		}

		//*** CustomerID ***//
		Label lblCustomerID = (Label)(e.Row.FindControl("lblCustomerID"));
		if (lblCustomerID != null)
		{
			lblCustomerID.Text = (string)DataBinder.Eval(e.Row.DataItem, "CustomerID");
		}

		//*** Email ***//
		Label lblName = (Label)(e.Row.FindControl("lblName"));
		if (lblName != null)
		{
			lblName.Text = (string)DataBinder.Eval(e.Row.DataItem, "Name");
		}

		//*** Name ***//
		Label lblEmail = (Label)(e.Row.FindControl("lblEmail"));
		if (lblEmail != null)
		{
			lblEmail.Text = (string)DataBinder.Eval(e.Row.DataItem, "Email");
		}

		//*** CountryCode ***//
		Label lblCountryCode = (Label)(e.Row.FindControl("lblCountryCode"));
		if (lblCountryCode != null)
		{
			lblCountryCode.Text = (string)DataBinder.Eval(e.Row.DataItem, "CountryCode");
		}

		//*** Budget ***//
		Label lblBudget = (Label)(e.Row.FindControl("lblBudget"));
		if (lblBudget != null)
		{
			lblBudget.Text = DataBinder.Eval(e.Row.DataItem, "Budget").ToString();
		}

		//*** Used ***//
		Label lblUsed = (Label)(e.Row.FindControl("lblUsed"));
		if (lblUsed != null)
		{
			lblUsed.Text = DataBinder.Eval(e.Row.DataItem, "Used").ToString();
		}
	}


    }

</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" onRowDataBound="myGridView_RowDataBound">

	<Columns>

	<asp:TemplateField HeaderText="Select">
		<ItemTemplate>
			<asp:HyperLink id="hplCustomerID" runat="server"></asp:HyperLink>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="CustomerID">
		<ItemTemplate>
			<asp:Label id="lblCustomerID" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Name">
		<ItemTemplate>
			<asp:Label id="lblName" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Email">
		<ItemTemplate>
			<asp:Label id="lblEmail" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="CountryCode">
		<ItemTemplate>
			<asp:Label id="lblCountryCode" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Budget">
		<ItemTemplate>
			<asp:Label id="lblBudget" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	<asp:TemplateField HeaderText="Used">
		<ItemTemplate>
			<asp:Label id="lblUsed" runat="server"></asp:Label>
		</ItemTemplate>
	</asp:TemplateField>

	</Columns>
</asp:GridView>
</form>
</body>
</html>


Ref :
(C#) ASP.NET GridView Control - FindControl
(C#) ASP.NET HyperLink - asp:HyperLink
Date : 2009-08-06 11:29:46 By : webmaster
 


 

No. 4



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



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


ตัวที่ผมเขียนมันเป็นแบบนี้ครับ มันไม่ขึ้น link ให้คลิกมันจะติดตรงไหนครับช่วยดูให้หน่อย

Code (C#)
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
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.Xml.Linq;
using System.Data.SqlClient;

public partial class index : System.Web.UI.Page
{
    private string strcon1;
    SqlConnection conn;
    SqlConnection conn2;
    DataTable dt_data;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["sess_citizenid"].ToString() == "")
        {
            Response.Redirect("Default.aspx");
        }

        strcon1 = Session["strcon"].ToString();
        conn = new SqlConnection(strcon1);
        conn2 = new SqlConnection(strcon1);
        this.heard();
    }
    private void heard()
    {
        dt_data = new DataTable();
        dt_data.Columns.Add(new DataColumn("เรื่อง",typeof(string)));

        string sql1 = "SELECT * FROM section";
        conn.Open();
        SqlCommand cmd1 = new SqlCommand(sql1, conn);
        SqlDataReader daread = cmd1.ExecuteReader();
        while (daread.Read())
        {
            DataRow drows = dt_data.NewRow();
            string section_id=daread["section_id"].ToString();
            drows[0]=daread["section_name"];
            //drows["status"] = "0";
            dt_data.Rows.Add(drows);

            //query ตาราง catagory_help
            string sql2 = "SELECT * FROM catagory_help WHERE section_id='" + section_id + "'";
            conn2.Open();
            SqlCommand cmd2 = new SqlCommand(sql2, conn2);
            SqlDataReader daread2 = cmd2.ExecuteReader();
            while (daread2.Read())
            {
                DataRow drows2 = dt_data.NewRow();
                string cat_id = daread2["cat_id"].ToString();
                drows2[0] = daread2["cat_name"];
                //drows2["status"] = "1";
                dt_data.Rows.Add(drows2);
            }
            conn2.Close();
        }
        conn.Close();
        GridView1.DataSource = dt_data;
        GridView1.DataBind();
        HyperLinkField h = new HyperLinkField();
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            h.DataTextField = GridView1.Rows[i].Cells[0].ToString() ;
            h.NavigateUrl = "data_user.aspx";
        }
    }
}


ขอบคุณครับ...
Date : 2009-08-06 11:57:21 By : loogway
 


 

No. 5



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



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


ขอดู source ที่เป็น .aspx หน่อยครับ
Date : 2009-08-06 15:37:58 By : superpheak
 


 

No. 6



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



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


Code (C#)
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="index" Title="tes" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <table border="0" align="center" cellpadding="0" cellspacing="1" 
        style="width: 956px">
  <tr>
    <td>
        <asp:GridView ID="GridView1" runat="server" CellPadding="4" Width="932px" 
            BackColor="White" BorderColor="#CC9966" BorderStyle="None" 
            BorderWidth="1px">
            <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
            <RowStyle BackColor="White" ForeColor="#330099" />
            <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
        </asp:GridView>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
      </td>
  </tr>
</table>
</asp:Content>

Date : 2009-08-06 16:04:23 By : loogway
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ทำ link ใน GridView ใน asp.net ด้วย C# ผมอยากทราบวิธีการใส่ link ไปหน้าใหม่ใน dataGridView นะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่