Forms Data Controls :: Column Reorder For ListView?
Jul 8, 2010
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;
}
}
}
View 4 Replies
Similar Messages:
Jun 8, 2010
I'm working on a GridView that has around 75 columns. I'm looking for a way the end user can set the order of columns in which he would like to view so that each time he logs in the order is retained.
View 2 Replies
Jun 18, 2010
I 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 Replies
Feb 13, 2010
I 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?
View 3 Replies
Jan 23, 2011
How can I access the last column in a list view whose columns are varying?
View 7 Replies
Jan 23, 2010
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?
View 2 Replies
Feb 25, 2010
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.
View 5 Replies
May 9, 2010
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]....
View 7 Replies
Apr 29, 2010
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.
View 4 Replies
Jan 28, 2011
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 Replies
Aug 5, 2010
using .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]....
View 4 Replies
Jan 10, 2010
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 Replies
Jul 6, 2010
I have tried several examples of reorder list with several types of data sources and can't get the list to reorder. I have copied Joe Stagner's code from his Video on Reorder Control with the same result. Here is the Video
http://www.asp.net/ajax/videos/how-do-i-the-ajax-toolkit-reorder-control. Page loads, but I can't drag items to reorder. I have tried this with explorer 8 and firefox 3.6, with and without security. Here is the markup, no code behind.
[Code]....
Some of the events don't seem to fire. DataBinding, DataBound, Load, and InsertCommand work ItemReorder does not, (not good for a reorder control). This control should work, but doesn't. I am able to insert data so it seems that the reorder or dragItem templates maybe causing problems. I have commented out but that doesn't help. Here is my only clue, I had to use the script manager from the .net4 Ajax Control Kit for my events to not complain about definitions. I was only using these events with debugger just to see if they are being called, no code in methods. But I am using the toolkit.dll that came with Joe's example. I tried it with .net4 only first, but that didn't work either that's when I installed the dll from Joe's example.
View 1 Replies
Mar 8, 2010
is it possible for reorder list to to allow user to drag n drop via column cell.
For example,
Column1 | Column2
------------------------------
Value1 |Value5
Value2 |Value6
Value3 |Value7
Value4 |Value8
Value 1 was drag n drop to the position of Value5. And Value5 ,Value6,Value7,Value8 position are reorder like Reorderlist in row.
View 3 Replies
Feb 15, 2010
I have the reorderlist and a DELETE as link button. So far so good as far as I can tell that when I clicked on the delete link button, it deletes photo value from the database per the ID PK. However, I want to be able to delete the right photo file on the server/disk (jpg, gif..) but I could not figure out the logic to do so.
View 1 Replies
Mar 11, 2010
i have a problem with ListView control,when i bind data to it, it shows the heder of it also.
i don't want to show me the hedear, what should i do?
[Code]....
View 11 Replies
Jul 6, 2010
i need to get data-bound items from outer listview to display in inner Listview, in this scenario:
[code]....
Where the higlighted text mean the title for outer datasource.
View 3 Replies
Jan 14, 2010
I am simply trying to change the listView template based on a value in the listview data. I do have this displaying the information correctly. Except when I try to change the item template based on a value in the listview. My code is below ....
View 6 Replies
Feb 4, 2010
I have a ListView, I've setup to use an ObjectDataSource, I've created my Layout and Item templates, and I'm able pull and view a list of my data no problem. However I want to add delete capabilities to my
ListView and my reference material tells me to go into the "Configure ListView..." option under the ListView's smart tag, the only problem is I don't have that option, the only three options in my smart tag are "Choose DataSource", "Configure DataSource..." and "Refresh Schema", what am I doing wrong?
View 7 Replies
Mar 13, 2011
I have anested ListView control. I also implemented a jQuery to automatically expand the TextBox control inside of the nested ListView Insert Template. The problem is, when the Textbox expand, the outer ListView control is not; therefore, the Textbox control expands underneath the buttons of the outer listView control. How do I expand the outer ListView control as the nested ListView textbox is automatically expand? One great example is in Facebook where if I add a response comment, it'll automatically push any comments below mine down. If nested Listview control is not the best way to do this, what are my options?
View 8 Replies
May 11, 2010
Does anyone have an example for how to create a Dynamically Templated Listview with prefernces page to specify which columns & column order)? Also the listview would also have Edit, delete and insert options if possible. And uses the n-tier approach with Bus Layer and does NOT use LINQ.
View 1 Replies
Jan 6, 2011
Is there any way to enable alternative ListView (LV2) or any other control in case when ListView (LV1) returns no records from DB? I already have emptydatatamplate designed for this case, but I need to enable a new ListView below in this particular case and I don't know how to achieve this!
View 2 Replies
Sep 30, 2010
I try to datbind a listview which is inside another listview InsertItemTemplate.
[Code]....
I'm binding the listivew in the parent listview onitemcreated events. I receive the error Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
View 4 Replies
Aug 26, 2010
I am having trouble finding how to solve the following issue :
I am using nested listviews to display Sales and Sales details.
The main ListView displays General Information about Sales and the child ListView displays the detailed information about one sale. the child listview is shown only when the user clicks on a link (see included code, DataBind is made on PageLoad) :
ASPX Markup Code :
[Code]....
C# Behind Code :
[Code]....
If I removed the datapager part, I can manage show/hide the child list view on the button click event. but if I want to use the DataPager with the PreRender event handling, the child listview is not longer shown on button click.
View 8 Replies
Aug 17, 2010
Ok, background first:
The form allows a user to create and edit one estimate.
Each estimate can contain multiple Jobs, which are represented in a ListView.
Each Job can contain multiple Parts, which are contained in a ListView that sits in each item of the Jobs ListView.
A user can add and remove as many Jobs as they want.
A user can add and remove as many Parts to/from each Job as they want.
I have no issues adding to each of these, but I do have a problem removing a single part from a single job.
For a reference, here is one Job in the Jobs ListView on the form:
I want to make sure that no matter what a user does, the part of the form they are working on saves what they have. Removing a row from that Parts ListView is no exception. What I want it to do is save the values in each of those textboxes and then delete the necessary row.
Here's what I have in the codebehind:
[Code]....
The EstimateRow variable I create does not get a value from theListView)HFERID.Parent.FindControl("LVEstimateRow") bit of code. There must be another level of nesting that I'm not accessing correctly, because it can't seem to find that nested ListView.
View 5 Replies