将所选单元格的值从ListView获取到TextBox中
问题描述:
我有一个ListView,我需要填充TextBox中选定的ListView单元格值。
请帮我提供合适的解决方案..
代码供参考: -
Hi,
I have a ListView, where I need to Populate the selected ListView Cell Value inside the TextBox.
Please help me with suitable solutions..
code for reference:--
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1" OnSelectedIndexChanged ="ListView1_SelectedIndexChanged"
GroupItemCount="3">
<alternatingitemtemplate>
<td id="Td1" runat="server" style="background-color:#FFF8DC; ">
<asp:Label ID="Label2" runat="server" Text='<%# Bind("ContactName") %>' />
</alternatingitemtemplate>
<edititemtemplate>
<td id="Td2" runat="server" style="background-color:#008A8C; color: #FFFFFF;">
<asp:TextBox ID="PhotoUrlTextBox" runat="server"
Text='<%# Bind("ContactName") %>' />
<br />
<asp:Button ID="UpdateButton" runat="server" CommandName="Update"
Text="Update" />
<br />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel"
Text="Cancel" />
<br />
</edititemtemplate>
<emptydatatemplate>
<table id="Table1" runat="server"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
<tr>
<td>
No data was returned.</td>
</tr>
</emptydatatemplate>
<emptyitemtemplate>
<td id="Td3" runat="server" />
</emptyitemtemplate>
<grouptemplate>
<tr ID="itemPlaceholderContainer" runat="server">
<td ID="itemPlaceholder" runat="server">
</grouptemplate>
<insertitemtemplate>
<td id="Td4" runat="server" style="">
<asp:TextBox ID="PhotoUrlTextBox" runat="server"
Text='<%# Bind("ContactName") %>' />
<br />
<asp:Button ID="InsertButton" runat="server" CommandName="Insert"
Text="Insert" />
<br />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel"
Text="Clear" />
<br />
</insertitemtemplate>
<itemtemplate>
<td id="Td5" runat="server" style="background-color:#DCDCDC; color: #000000;">
<asp:Label ID="Label2" runat="server" Text='<%# Bind("ContactName") %>' />
<br />
</itemtemplate>
<layouttemplate>
<table id="Table2" runat="server">
<tr id="Tr1" runat="server">
<td id="Td6" runat="server">
<table ID="groupPlaceholderContainer" runat="server" border="1"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
<tr ID="groupPlaceholder" runat="server">
<tr id="Tr2" runat="server">
<td id="Td7" runat="server"
style="text-align: center;background-color: #CCCCCC; font-family: Verdana, Arial, Helvetica, sans-serif;color: #000000;">
</layouttemplate>
<SelectedItemTemplate>
<td id="Td8" runat="server"
style="background-color:#008A8C; font-weight: bold;color: #FFFFFF;">
<asp:Label ID="Label2" runat="server" Text='<%# Bind("ContactName") %>' />
<br />
</SelectedItemTemplate>
.aspx.cs:--
protected void ListView1_SelectedIndexChanged(object sender, EventArgs e)
{
//TextBox1.Text = ListView1.SelectedItems[0].Tag.ToString();
//TextBox1.Text = ListView1.SelectedItemTemplate.ToString ();
ListViewItem item = ListView1.Items[ListView1.SelectedIndex];
//fill the text boxes
TextBox1.Text = item.ToString();
//textBoxName.Text = item.SubItems[0].Text;
}
答
试试这样,
Try like this,
protected void Listview1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox1.Text = (Listview1.Items[Listview1.SelectedIndex].FindControl("Label2") as Label).Text;
}