|
|
|
ขอวิธี ใช้ RadioButton in Datalist ครับ คือผมอยากจะ สร้าง RadioButton ใน datalist อะครับไม่ทราบว่าต้องทำยังไง |
|
|
|
|
|
|
|
อิอิ ได้ล่ะครับ
ไม่มีใครตอบ ตอบเองเลย เพื่อ มีคนสงสัย
Code (C#)
function SetUniqueRadioButton(nameregex, current)
{
re = new RegExp(nameregex);
for(i = 0; i < document.forms[0].elements.length; i++)
{
elm = document.forms[0].elements[i]
if (elm.type == 'radio')
{
if (re.test(elm.name))
{
elm.checked = false;
}
}
}
current.checked = true;
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) return;
RadioButton rb = (RadioButton) e.Item.FindControl("RadioButton");
string script = "SetUniqueRadioButton('Repeater1.*RadioGroup',this)";
rb.Attributes.Add("onclick", script);
}
|
|
|
|
|
Date :
2010-05-13 15:48:23 |
By :
darkninja |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ พอดีทำแล้วไม่เคยเกิดปัญหาเหมือนคุณ ก็เลยไม่ตอบ
เหมือนผมตัดกางเกงแล้วกางเกงผมไม่มีรอยขาด ก็เลยไม่รู้จะไปปะกางเกงทำไม
|
|
|
|
|
Date :
2010-05-13 16:04:38 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งงอะครับ ทำไหม คุณ tungman ถึง ใส่ GroupName ได้อะครับ คือผมใส่ใน datalist แล้ว มันเป็นแบบนี้อะครับ
เช่น GroupName ผมชื่อว่า 1234 แล้ว มี RadioButton สัก 5 อัน มันเป็นแบบนี้อะครับ
GroupName="1234"
ctl00$ContentPlaceHolder1$DataList1$ctl00$1234
ctl00$ContentPlaceHolder1$DataList1$ctl01$1234
ctl00$ContentPlaceHolder1$DataList1$ctl02$1234
ctl00$ContentPlaceHolder1$DataList1$ctl03$1234
ctl00$ContentPlaceHolder1$DataList1$ctl04$1234
มันก็เลย คลิกได้ทุกอันเลย เพราะมันเหมือนบอกว่า ไม่ได้อยู่ Group เดียวกันอะครับ
ไม่ทราบของคุณ tungman เป็นแบบนี้ไหมครับ
|
|
|
|
|
Date :
2010-05-13 17:43:57 |
By :
darkninja |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MyDataList.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyDataList.aspx.cs" 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>
</div>
</ItemTemplate>
<SeparatorTemplate>
<div style="height: 10px;"></div>
</SeparatorTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>
MyDataList.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class MyDataList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataList1.DataSource = GetDataForDataList();
DataList1.ItemDataBound += new DataListItemEventHandler(DataList1_ItemDataBound);
DataList1.DataBind();
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataRowView Dr = (DataRowView)e.Item.DataItem;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
((Label)e.Item.FindControl("Label1")).Text = (((int)Dr["ID"]) + 1).ToString() + ". tungman";
((RadioButtonList)e.Item.FindControl("RadioButtonList1")).DataSource = GetDataForRadioButtonList();
((RadioButtonList)e.Item.FindControl("RadioButtonList1")).DataTextField = "Name";
((RadioButtonList)e.Item.FindControl("RadioButtonList1")).DataValueField = "ID";
((RadioButtonList)e.Item.FindControl("RadioButtonList1")).DataBind();
}
}
/* สร้าง DataTable เพื่อเป็นตัวอย่างไม่ต้องสนใจ */
private DataTable GetDataForDataList()
{
DataTable Dt = new DataTable();
Dt.Columns.Add(new DataColumn("ID", System.Type.GetType("System.Int32")));
for (int i = 0; i < 3; i++)
{
DataRow Dr = Dt.NewRow();
Dr["ID"] = i;
Dt.Rows.Add(Dr);
}
return Dt;
}
/* สร้าง DataTable เพื่อเป็นตัวอย่างไม่ต้องสนใจ */
private DataTable GetDataForRadioButtonList()
{
DataTable Dt = 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 (int i = 0; i < 5; i++)
{
DataRow Dr = Dt.NewRow();
Dr["ID"] = i;
Dr["Name"] = "Item" + i.ToString();
Dt.Rows.Add(Dr);
}
return Dt;
}
}
|
|
|
|
|
Date :
2010-05-13 19:25:41 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|