62,268
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class temp_Default : System.Web.UI.Page
{
private int index = 0, count = 0;
private string[] state;
private DataTable getDateTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("columnName", typeof(String)));
DataRow dr;
for (int i = 0; i < 10; i++)
{
dr = dt.NewRow();
dr[0] = "人员" + i.ToString();
dt.Rows.Add(dr);
}
return dt;
}
private DataTable getDt()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("columnName", typeof(String)));
DataRow dr;
for (int i = 0; i < 5; i++)
{
dr = dt.NewRow();
dr[0] = "选项" + i.ToString();
dt.Rows.Add(dr);
}
return dt;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = getDt();
if (dt != null && dt.Rows.Count > 0)
{
count = dt.Rows.Count;
}
Repeater1.DataSource = dt;
Repeater1.DataBind();
rp.DataSource = getDateTable();
rp.DataBind();
hidCount.Value = index.ToString();
}
}
protected void rp_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DataRowView drv = e.Item.DataItem as DataRowView;
Literal lit = new Literal();
if (drv != null)
{
string html = "<tr id='t" + index.ToString() + "'><td>" + drv["columnName"].ToString() + "</td>";
//Random r = new Random();
//int checkFlag = r.Next(0, 4);
int temp;
for (int i = 0; i < count; i++)
{
if (!IsPostBack)
{
html += "<td align='center' ><input type='radio' " + (i == 0 ? "checked='true'" : "") + " name='" + drv["columnName"].ToString() + "' /></td>";
}
else if (state != null && state.Length > index && int.TryParse(state[index], out temp))
{
html += "<td align='center' ><input type='radio'" + (state[index] == i.ToString() ? "checked='true'" : "") + " name='" + drv["columnName"].ToString() + "' /></td>";
}
else
{
html += "<td align='center' ><input type='radio' " + (i == 0 ? "checked='true'" : "") + " name='" + drv["columnName"].ToString() + "' /></td>";
}
}
html += "</tr>";
lit.Text = html;
e.Item.Controls.Add(lit);
index++;
}
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string value = hid.Value.TrimEnd(',');
DataTable dt = getDt();
if (dt != null && dt.Rows.Count > 0)
{
count = dt.Rows.Count;
}
Repeater1.DataSource = dt;
Repeater1.DataBind();
if (hid.Value.Split(',').Length > 0)
{
state = hid.Value.Split(',');
}
rp.DataSource = getDateTable();
rp.DataBind();
hidCount.Value = index.ToString();
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DataRowView drv = e.Item.DataItem as DataRowView;
Literal lit = new Literal();
if (drv != null)
{
lit.Text = "<td align='center' >" + drv["columnName"].ToString() + "</td>";
}
e.Item.Controls.Add(lit);
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="temp_Default" %>
<!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>
<script>
function setValue()
{
var len=parseInt(document.getElementById('<%=hidCount.ClientID %>').value);
var hid=document.getElementById('<%=hid.ClientID %>');
hid.value='';
for(var i=0;i<len;i++)
{
var el=document.getElementById('t'+i).getElementsByTagName('input');
for(var j=0;j<el.length;j++)
{
if((el[j].type=='radio')&&(el[j].checked))
{
hid.value+=j+',';
}
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr><td align='center'></td><asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound"></asp:Repeater></tr>
<asp:Repeater ID="rp" runat="server" OnItemDataBound="rp_ItemDataBound"></asp:Repeater>
</table>
<asp:HiddenField ID="hid" runat="server" /><asp:HiddenField ID="hidCount" runat="server" />
<asp:Button ID="btnSubmit" runat="server" Text="提交" OnClientClick="setValue();" OnClick="btnSubmit_Click" />
</form>
</body>
</html>