ASP - таблица как грид для ввода

Петров Андрей
Дата: 25.05.2010 11:55:51
Имеется следующая задача:
Есть отчет ввиде таблицы (<table width="90%" class="list" border="0" cellpadding="0" cellspacing="0">) в него нужно добавить интерактивности для ввода и выбора данных как в гриде.
Т.е. нужно сделать так чтобы при выборе строчки (клике на ней) в ней появлялось поле ввода
[SRC ASP]<td><input name="Comment" maxlength="50" class="txt"...[/src]а так же кнопка которая сохранит это поле ввода + идентификатор строчки
[SRC ASP]<tr id="f<%=ZVal("id")%>" class="tr<%=i%>" onclick="_frm(this,event)">
<td></td>
<td><%=ZVal("id")%></td>
...[/src]Т.е. примитивно и просто по идее :-) Одна проблема - что я не знаю ASP в нормальном объеме и делаю по аналогии с сущиствующим примером. Короче подскажите. Получаем примерно следующий код:
[SRC ASP]<%
oCMD.CommandText = "{call shema.package.procedure(?,?,{resultset 0, aCursor})}"
oCMD.Parameters.Refresh

oCMD.Parameters("aDT").Value = T1&T2
oCMD.Parameters("aType").Value = Q2

Set Rs = oCMD.Execute
if Rs.EOF then
ZOut "<p align=""center"">" & czNoRecords & "</p>"
else
%>
<form name="form" action="act.asp?mode=test" method="post">
<table width="90%" class="list" border="0" cellpadding="0" cellspacing="0">
<tr>
<th></th>
<th style="text-align: center;">text1 (key)</th>
<th style="text-align: center;">text2</th>
<th style="text-align: center;">text3</th>
</tr>
<tr onclick="_frm(this,event)">
<td><input type="submit" value="»" onclick="_ins(this)" class="btn" /></td>
<td><%=RS("id")%></td>
<td><%=RS("text1")%></td>
<td><input name="Comment" maxlength="50" class="txt" value="<%=RS("ops_comment")%>" /></td>
</tr>
<%
i=0
While Not RS.EOF
i=i+1
%>
<tr id="f<%=ZVal("serno")%>" class="tr<%=i%>" onclick="_frm(this,event)">
<td><input type="submit" value="»" onclick="_ins(this)" class="btn" /></td>
<td><%=RS("id")%></td>
<td><%=RS("text1")%></td>
<td><%=RS("ops_comment")%></td>
</tr>
<%
RS.MoveNext
Wend
%>
[/src]
Но в итоге оно имеет следующие косяки:
1) При клике на строке её ИД = последнему зафетченому ид в рекрдсете.
2) При повторном клике на строке убирается введенный текст и добавляется какая то лабуда ввиде АСП кода :-)
3) Не исчезают поля ввода при переходе на другую строку.
4) Когда жму на кнопку не могу вытянуть данные о выбраной строке.
Делаю примерно так:
[SRC ASP]
Function Act
set fso = Server.CreateObject("Scripting.FileSystemObject")
set ts = fso.CreateTextFile("C:\Shared\Classes.log")
ts.WriteLine "Classes.Step 1 "+CStr(Time())

oCMD.CommandText = "schema.package.procedure_act"
oCMD.CommandType = 4
oCMD.Parameters.Refresh
ts.WriteLine "Classes.Step 2 "+CStr(Time())+" User: "+Session("UsrName")+" ID: "+ZPost("ID")+" Comment: "+ZFormVal(0)
oCMD.Parameters("aUser").Value = Session("UsrName")
oCMD.Parameters("aID").Value = ZPost("id")
oCMD.Parameters("aComment").Value = ZFormVal(0)
End Function[/src]
Если опять (http://www.sql.ru/forum/actualthread.aspx?tid=761380) пишу не в тот раздел - перенесите куда нужно.

Спасибо. :-)