.NET Logo
Welcome Guest Search | Active Topics | Members | Log In | Register

ขอถามเกี่ยวกับ hyperlinkfield ที่ใช้ใน gridview ค่ะ Options · View
kukkai
Posted: Wednesday, September 24, 2008 7:42:11 PM
Rank: มือฝึกหัด
Groups: Member

Joined: 9/24/2008
Posts: 3
Location: Ayutthaya

งานที่ต้องทำคือ ใช้ sqldatasource ทำการ select ข้อมูลที่ต้องการขึ้นมาใส่ใน gridview เช่น select ชื่อสวนสัตว์ทั้งหมดที่อยู่ใน table ขึ้นมาแล้วให้แสดงใน gridview โดยset ให้เป็น hyperlink พอคลิ๊กที่ชื่อสวนสัตว์ ปุ๊บ ก็จะแสดงรายชื่อของสัตว์ที่อยู่ในสวนสัตว์นั้นในอีก gridview หนึ่งซึ่งชื่อสัตว์ก็จะเป็น hyperlink อีก ซึ่งข้อมูลทั้งหมดจะเป็นการดึงมาจาก table ที่มีข้อมูลอยู่แล้ว (หวังว่าคงเข้าใจนะค่ะเพราะอธิบายยากจัง)

คำถามคือว่า  จะทำการส่งค่าจาก gridview ที่แสดงชื่อสวนสัตว์ให้ไป select ชื่อสัตว์ที่อยู่ในสวนสัตว์นั้นให้มาแสดงในอีกgridviewหนึ่งซึ่งต้อง set ให้มันเป็น hyperlink เหมือนกันได้ยังไงอ่ะค่ะ หรือถ้าใครมีวิธีโดยที่ไม่ต้องใช้ gridview ทำก็ได้นะค่ะ

ขอรบกวนด้วยนะค่ะ ใครพอจะเข้าใจสิ่งที่เขียนไปช่วยบอกวิธีทำหน่อยนะค่ะ

F5544eEe
Posted: Monday, September 29, 2008 5:06:14 PM
Rank: มือสมัครเล่น
Groups: Member

Joined: 6/2/2008
Posts: 13

จากที่ผมเคยทำนะ ผมให้ User กรอกข้อมูลทั้งหมดหรือบางส่วน ส่งตัวนี้เข้าไปค้นหาแล้วให้แสดงออกมาทาง GridView หลังจากนั้น ถ้าต้องการดูรายละเอียดข้อมูลต่างๆจาก GridView ที่แสดงอยู่นั้น

ก้อให้คลิกเลือกที่ชื่อนั้นๆ คิดว่าคงจะคล้ายๆกันนะ ลืมบอกไปว่าที่ GridView นั้นต้องเลือก Enable Selection ด้วยครับ

 

code ตรงส่วนนี้จะทำหน้าที่ส่งข้อมูลจาก GridView ไปแสดงต่ออีกทีครับ

protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {

        e.Row.Attributes["onmouseover"] = "javascript:setMouseOverColor(this);";  //เปลี่ยนสีเมื่อมี Mouse อยู่ในแถวนั้นๆในตาราง
        e.Row.Attributes["onmouseout"] = "javascript:setMouseOutColor(this);";  //
        e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.gridAgtName, "Select$" + e.Row.RowIndex);
    }
}

เมื่อคลิกแล้ว ข้อมูลจาก GridView แสดงที่ Textbox แต่ถ้าต้องการแบบอื่นก้อลองดูนะครับ

protected void gridAgtView_SelectedIndexChanged(object sender, EventArgs e)
{
    tbAgtName.Text = gridView.SelectedRow.Cells[1].Text;
    tbAgtID.Text = gridView.SelectedRow.Cells[2].Text;
}

<script type="text/javascript">
var oldgridSelectedColor;

function setMouseOverColor(element)
{
    oldgridSelectedColor = element.style.backgroundColor;
    element.style.backgroundColor='yellow';
    element.style.cursor='hand';
    element.style.textDecoration='underline';
}

function setMouseOutColor(element)
{
    element.style.backgroundColor=oldgridSelectedColor;
    element.style.textDecoration='none';
}
</script>

ลองดูนะครับ เพราะผมก้อมือใหม่ยู่เหมือนกัน

kukkai
Posted: Thursday, October 02, 2008 11:13:31 AM
Rank: มือฝึกหัด
Groups: Member

Joined: 9/24/2008
Posts: 3
Location: Ayutthaya
ขอบคุณมากๆค่ะ
Users browsing this topic
Guest


Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Main Forum RSS : RSS

YAFVision Theme Created by Jaben Cargman (Tiny Gecko)
Powered by Yet Another Forum.net version 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.


Sponsored by