0
添付の希望出力(レコード)) 今はレコードの列に複数のリンクを追加できますが、背後にあるコードから私はGetRecordLinksを呼び出すことで、動的にイメージボタンを作成しようとしました コマンド引数は、(エバール(「レコード」)) `、下記の私は追加したいListView Command name、Visible、CommandArgumentを含む画像ボタンを動的に呼び出すことで、画像を追加するボタンを追加します。
<asp:ListView ID="Student" runat="server" OnItemCommand="Student_ItemCommand" OnItemDeleting="Student_ItemDeleting" OnItemDataBound="Student_OnItemDataBound">
<LayoutTemplate>
<table class="DataGrid">
<tr class="HeaderRow">
<td style="width: 150px;">Name</td>
<td style="width: 200px;">Class(s)</td>
<td style="width: 150px;">Sex</td>
<td style="width: 200px;">Recordss</td>
<td style="width: 150px;">Status</td>
<td style="width: 30px; text-align: center;">Activate/Delete</td>
</tr>
<asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<b><%# Eval("StudentLastName") %>, <%# Eval("StudentFirstName") %> <%# Eval("StudentMiddleName") %></b>
</td>
<td>
<%# JoinStringList(Eval("class")) %>
</td>
<td> <%# Eval("sex") %></td>
<td>
<%# GetRecordLinks(Eval("Records")) %>
</td>
<td>
<%# Eval("StatusID").ToString()=="0"?"Inactive":"Active" %>
</td>
<td style="text-align: center;">
<asp:ImageButton ImageUrl="img/Refresh.png" ID="StudentActive" runat="server" CommandName="Active" Visible='<%#Eval("StatusID").ToString()=="0"?true:false%>' CommandArgument='<%# Eval("StudentGUID") %>' />
<asp:ImageButton ImageUrl="img/delete.png" ID="StudentDelete" runat="server" CommandName="Delete" Visible='<%#Eval("StatusID").ToString()=="0"?false:true%>' CommandArgument='<%# Eval("StudentGUID") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
GetRecordLinks
方法
CommandName
、
Visible
、
CommandArgument
の生徒がいます。 eaxmpleの場合、生徒Aがセルに5つのレコードを5つずつ持っている場合は、iteamコマンドで5つのimagebuttonを持つ必要があります。
public string GetRecordLinks(object obj)
{
if (obj != null)
{
List<AppointmentDoc> docs = (List<AppointmentDoc>)obj;
StringBuilder sb = new StringBuilder();
foreach (AppointmentDoc rec in docs)
{
sb.Append("<a target='_blank' href=\"result.ashx?uuid=" + rec.UUID.ToString() + "\">" + rec.Name.Replace("student", "").Trim() + " (" + rec.SignedBy + ")" + (rec.staffSigned ? "*" : "") + "</a><br/>");
}
return sb.ToString();
}
return "";
}
希望が任意のクエリ
おかげ
ありがとうConnors ...あなたが言ったようにPlacehHolderを使用し、リンクと画像ボタンを動的に作成しました。リストビューをリピーターに変更しました...しかし、私は今、問題を抱えています。ポストバックでバインドされた同じメソッド..まだ動作していません – appu
ImageButtonの 'ListView'を保持し、' CommandName'(そして必要に応じて 'CommandArgument')を設定できますか?それは 'ItemCommand'イベントを引き起こすはずです。 – ConnorsFan
ありがとう...私はitemdataboundとiteamcreatedを使用して、すべてのボタンをrepaeterで動的に作成しました。 – appu