Forms Data Controls :: Access The Last Column In A ListView?
Jan 23, 2011How can I access the last column in a list view whose columns are varying?
View 7 RepliesHow can I access the last column in a list view whose columns are varying?
View 7 RepliesI have read all kinds of great things about the new List View (well it was new when 3.5 was introduced). But I have not figured out how to set the width of a column. I have tried setting width in Layout, Item, Alternate, but none seems to affect the width.In related question, is there any way to hide a column?
View 4 RepliesI have the following ListView:
<asp:ListView ID="ListView1" runat="server" DataKeyNames="ListItemID"
DataSourceID="SqlDataSource1">
<LayoutTemplate>
<table id="ListItemsTbl" runat="server" style="width:460px; overflow: hidden">
<tr>
<th>
<asp:LinkButton runat="server" CommandName="sort"
CommandArgument="ItemDescription" Text="Description" />
</th>
<th>
<asp:LinkButton runat="server" CommandName="sort"
CommandArgument="ItemURL" Text="Link" />
</th>
<th>
<asp:LinkButton runat="server" CommandName="sort"
CommandArgument="ItemPrice" Text="Price" />
</th>
<th>
<asp:LinkButton runat="server" CommandName="sort"
CommandArgument="ItemBoughtBy" Text="Bought By" />
</th>
</tr>
<tr id="itemPlaceholder" runat="server" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr id="row" runat="server" class='<%= Container.DataItemIndex % 2 == 0 ? "row" : "altrow" %>'>
<td style="width: 10%; overflow: scroll;"><%# Eval("ItemDescription") %></td>
<td style="width: 10%; overflow: scroll;"><%#Eval("ItemURL")%></td>
<td style="width: 10%; overflow: scroll;"><%#Eval("ItemPrice")%></td>
<td style="width: 10%; overflow: scroll;"><%#Eval("ItemBoughtBy")%></td>
</tr>
</ItemTemplate>
</asp:ListView>
but the styles have no effect on the listview which just splats itself all over the screen!
What am I doing wrong? How do I control the appearence of the listview?
I'm using following code to reorder listview columns programatically somehow it is showing incorrect behaviuor for certain scenarios. Please let me know if there is any alternative way -
[Code]....
using System;
using System.Xml.Serialization;
using System.Windows.Forms;
using System.Collections;
using System.Runtime.InteropServices;
namespace TradeDesk
{
/// <summary>
/// This class is used to save and restore the column width and order settings
/// for a ListView control. Unfortunately, there is no easy way to obtain the
/// order so a Windows message must be sent to the control. This class
/// encapsulates that functionality as well as the serialization/deserialization
/// of the settings.
/// </summary>
[Serializable]
public class ListViewSettings
{
[DllImport("user32.dll")]
static extern bool SendMessage(IntPtr hWnd, Int32 msg, Int32 wParam, ref LV_COLUMN lParam);
[StructLayoutAttribute(LayoutKind.Sequential)]
struct LV_COLUMN {
public UInt32 mask;
public Int32 fmt;
public Int32 cx;
public String pszText;
public Int32 cchTextMax;
public Int32 iSubItem;
public Int32 iImage;
public Int32 iOrder;
}
const Int32 LVM_FIRST = 0x1000;
const Int32 LVM_GETCOLUMN = LVM_FIRST + 95;
const Int32 LVM_SETCOLUMN = LVM_FIRST + 96;
const Int32 LVCF_ORDER = 0x0020;
[XmlElement("ListViewColumns", typeof(ListViewColumn))]
public ArrayList listViewCols = new ArrayList();
public ListViewSettings(ListView listView) {
try {
foreach(ColumnHeader column in listView.Columns) {
LV_COLUMN pcol = new LV_COLUMN();
pcol.mask = LVCF_ORDER;
bool ret = SendMessage(listView.Handle, LVM_GETCOLUMN, column.Index, ref pcol);
listViewCols.Add( new ListViewColumn( column.Text, column.Width, pcol.iOrder ));
}
}
catch {}
}
public void RestoreFormat(ListView listView) {
try {
listView.Hide();
for( int i=0; i<listViewCols.Count; i++ ) {
foreach( ColumnHeader column in listView.Columns ) {
if( column.Text == ((ListViewColumn)listViewCols[i]).header ) {
LV_COLUMN pcol = new LV_COLUMN();
pcol.mask = LVCF_ORDER;
pcol.iOrder = ((ListViewColumn)listViewCols[i]).order;
bool ret = SendMessage(listView.Handle, LVM_SETCOLUMN, column.Index, ref pcol);
column.Width = ((ListViewColumn)listViewCols[i]).width;
break;
}
}
}
listView.Show();
}
catch {}
}
}
[Serializable]
public struct ListViewColumn {
public string header;
public int width;
public int order;
public ListViewColumn(string colHeader, int colWidth, int colOrder) {
header = colHeader;
width = colWidth;
order = colOrder;
}
}
}
If I have a ListView with an itemtemplate like so:
<td> <label> </label> </td>
How can I get a column in the listview and change its properties?
Ive an page with listview.. i'm performing sorting in itemdatabound event like below:
[Code]....
and my listview looks like this:
[Code]....
I want to sort with multiple columns.
what I have to add/subtract from the following listview to change the table and column width. All my attemps like the style="width: 50%" have no effect.
[Code]....
I have a listview with following structure :
column1 column2 column3
row1 dropdownlist1 dropdownlist3 dropdownlist5
dropdownlist2 dropdownlist4 dropdownlist6
row2 dropdownlist7 dropdownlist9 dropdownlist11
dropdownlist8 dropdownlist10 dropdownlist12
Now, what i want is that , when a user select something from any dropdownlist , a fuction should be called in which I can get column and row of that dropdownlist.
I can get the dropdownlist's id in that function along with row and column of dropdownlist.
How can I make the column of ListView Control invisible. The last column's header I have put in a label control and its item are in a html img control .
View 7 Repliesusing .NET 4, SQL 2008 R2 and VS2010:
My issue is that the first row of data in my db table does not seem to be output to my ListView control when I run the page. The first item in the ListView control is the 2nd row of my db table.
If I execute the stored proc listed below in SQL Server Mgmt Studio all rows are returned to the query results window.
The ListView control is defined as follows:
[Code]....
in asp.net i want to display a list of data in one column of listview with hyperlink. All the data should should apper in tabular format.
View 2 RepliesAs per my requirement, I am getting CompID, Company Name and URL from SQL database. I want to display just CompName and URL in gridvew. So, I need to hide the CompID in gridview. One way I can do BoundField field Visible to false but I need to retrive that compID id when user selected any of the row. if I set visible to false user wont see any compID in gridvew but I want access the selected compID also using SelectedRow.Cells[1].Text..
View 1 RepliesI previously had a datalist bound to an objectDataSource. Within the ItemDataBound event, i could quite happily access the current bound row as follows:
[Code]....
where ASPNETDB was the database and tblJobs the tableadapter. I could then reference the tblJobs items as job.JobId and job.StartDate etc. Upon chainging the datalist to a listview, I can't seem to find any way of accessing the same data. I've tried ListViewItem and ListViewDataItem, is this the right method or am i missing something?
How to access the HeaderText of a listView control ?
I want to fill the headerText of a listview dynamically.
see the following code. How do I access the imageButton (or any other control I may happen to have) within the listView? In this case, I'd like to change the image of the imagebutton based on certain conditions in the code behind file while the listview is being populated.
[Code]....
I have a search box on a web application that is to use a query I have built in Access to search through projects to find any that are related to the text entered in the search box.
The query in Access is just made up of parameters that use wildcards to search through all the fields. In Access the query works fine and returns the correct data but when I try and link this all up to a ListView in Visual Studio, the ListView just diplays the message "No data was returned"
Below is my page-behind code, hopefully you can see why it is not working but it looks like it should work to me.
[Code]....
I've googled around for a couple of days now and tried different solutions posted here and there, but nothing has worked so far. Therefore I'm forced to write a new thread about this subject.
I'm working on a solution containing nested listviews. The top listview lists different projects, and in each project a nested listview lists images from that specific project using a nested sqldatasource. Inside the nested listview I want the user to be able to add new images, and i'm using the InsertItemTemplate of the nested listview. When inserting a new image, the project need to be specified, as the project is a foreign key in my image database. The problem is that in my InsertItemTemplate, "Bind" and "Eval" does not work (I believe this is by design). Therefore, when adding the new image I don't have access to the project. I'm using the ItemInserting event of the nested listview to upload the image, and the optimal solution would be to have access to the project in this event and just pass it on as a parameter.
Now, I have a ListView populate products from LinQ DataSource, and a DataPager, when I load the page, it load page 1 of products(I have many pages of products), how can I acess a specific page (page number 2 for example) when I load page.
View 4 RepliesI have a RadioButtonList control inside of a nested ListView control InsertTemplate. I need a way to access this control in the nestedListView_ItemInserting method.
View 6 Replieson my page, there are two listboxes,
[Code]....
Based on the selection of SchoolID in listviewSchools, the ListviewStudents will be filled with the data.
SchoolIDLabel is in the ItemTemplate of the ListviewSchools. The following works for insertitemtemplate
Dim txtTitle As TextBox = CType(ListView1.InsertItem.FindControl("txtTitle"), TextBox), but i can not Access a control inside the ItemTemplate of a listview.
While running ItemDetabound upon load of a listivew, I am trying to access the text in a label of the LayoutTemplate of a different Listview. It works fine if I try access the same labels under the same names if they are in the same listview, but not if they are in a different one. It was working for a while, can't figure out what I changed, but now says that object doesn't exist.
[Code]....
I am working on setting up an aspx page using access datasource in web eepression. Access Datasource is having image source information from other resources feed. I am using listview to display all the images.
The problem I am facing is that all the images are displaying in different sizes. I tried to customize Layout template by specifying the td height and width but it's not working. Is there any way to autosize the pictures in listview once page is displayed.
<LayoutTemplate>
<table runat="server">
<tr runat="server">
[code]...
how to access the last column of a gridview whose number of columns are varying
View 6 RepliesI have seen a lot of things on the net on this but nothing seems to work. I have a GridView with name and other information on files stored in a database but also on a Server. I display the gridview with the files and the user selects the file to delete (row) by hitting the command field for Delete. I have an event on the gridview for code behind. Here I want to access the file name for the row selected, to be able to include it in the File.Delete statement.
Even before this I want to display the selected file name in a label back to the web page. I have tried everything including findcontrol selectedValue, etc. Nothing is working. I either get complier error, or nothing is displayed in label. If I let it go the the File.Delete step I get access error becasue there is no file name. HELP. here is screen shot of the gridview. Ignore the download button for now. That is my next headache to figure out. So based on the screen shot I want the value of log_doc from the gridview. It is in a column called file_name
File ID
File Name
Log
Upload Date
Uploaded By
Download
Delete
3
i want to access gridview collumn 2 and for each row replace the text that is there with a "*" because its a password fields so instead on show the pass hide it with * so its more or less this but... see comment line
[Code]....