Solved

Using the generic type 'System.Collections.Generic.List<T>' requires '1' type arguments

Posted on 2009-04-06
7
5,588 Views
Last Modified: 2013-12-17
I have used code to merge cells in gridview but it shows error


 Using the generic type 'System.Collections.Generic.List<T>' requires '1' type arguments


so can you help your suggest anything for the same???????
public static List<T> MakeList_tmp<T>(T temp)

        {

            List<T> newList = new List<T>();

            return newList;

        }

 

 

 

        private void mergeRows(GridView gv)

        {

            string lastColumn1 = string.Empty;

            

            GridViewRow currentRow = null;

            GridViewRow tmp = null;

            var temp = tmp;

            var tempRow = MakeList_tmp(temp);

            System.Collections.Generic.List tempRows = new System.Collections.Generic.List();

            

            foreach (GridViewRow row in gv.Rows)

            {

                if (row.RowType == DataControlRowType.DataRow)

                {

                    string currentColumn1 = string.Empty;

                    currentColumn1 = Convert.ToString(row.Cells[0].Text);

 

                    if (currentRow == null)

                    {

 

                        currentRow = row;

                        lastColumn1 = Convert.ToString(row.Cells[0].Text);

 

                    }

 

 

                    else

                    {

                        if (lastColumn1 != currentColumn1)

                        {

 

                            currentRow.Cells[0].RowSpan = tempRows.Count + 1;

                            currentRow.Cells[0].VerticalAlign = VerticalAlign.Middle;

                            currentRow.Cells[0].HorizontalAlign = HorizontalAlign.Center;

 

                            foreach (GridViewRow row1 in tempRows)

 

                                row1.Cells.RemoveAt(1);

                            lastColumn1 = currentColumn1;

 

                            tempRows.Clear();

                            currentRow = row;

                            lastColumn1 = currentColumn1;

                        }

                        else

                        {

 

                            tempRows.Add(row);

                        }

                    }

                }

            }

           

            if (tempRows.Count >= 0)

            {

                

                currentRow.Cells[0].RowSpan = tempRows.Count + 1;

                currentRow.Cells[0].VerticalAlign = VerticalAlign.Middle;

                currentRow.Cells[0].HorizontalAlign = HorizontalAlign.Center;

 

                foreach (GridViewRow row1 in tempRows)

                    row1.Cells.RemoveAt(0);

            }

        }

protected void GridView1_PreRender(object sender, EventArgs e)

        {

            GridView gv1 = (GridView)sender;

            mergeRows(gv1);
 

        }

Open in new window

0
Comment
Question by:scspl
  • 4
  • 3
7 Comments
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 24074963
what about this:
public static List<T> MakeList_tmp<T>()   // if you need and argument, it shall by <T> temp and not T temp, AFAIK
        {
            List<T> newList = new List<T>();
            return newList;
        }
 
and later: 

     private void mergeRows(GridView gv)
        {
            string lastColumn1 = string.Empty;
            
            GridViewRow currentRow = null;
            GridViewRow tmp = null;
            List<GridViewRow> tempRows = MakeList_tmp();
            ...

Open in new window

0
 

Author Comment

by:scspl
ID: 24074994
So, if here

GridViewRow tmp = null;

List<GridViewRow> tempRows = MakeList_tmp();


i want to pass tmp with MakeList_tmp(tmp) so

how it should be written over here and how the argument will be passed to

the MakeList_temp() <----    function....
0
 
LVL 142

Assisted Solution

by:Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3] earned 500 total points
ID: 24075019
as I explained in the comment of the previous comment:
public static List<T> MakeList_tmp<T>(<T> tmp)  

Open in new window

0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:scspl
ID: 24075094
it is not accepting that...

<T> tmp -->  is not a valid argument.....

so is there any other way...
public static List<T> MakeList_tmp<T>(<T> tmp)   

{

    List<T> newList = new List<T>();

    return newList;

}
 
 
 
 

// Above code generates the error:->
 

// Compiler Error Message: CS1031: Type expected

Open in new window

0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24075111
sorry, in the method parameter data type, it's without the <>
public static List<T> MakeList_tmp<T>(T tmp)   

{

    List<T> newList = new List<T>();

    return newList;

}

 

Open in new window

0
 

Author Comment

by:scspl
ID: 24075126
That matter is solved but tell me one thing

where will  the method  mergeRows() called?

will it be before databinding or after that???
0
 

Author Comment

by:scspl
ID: 24075141
now i got it it's working thanks a lot for your help


it will be called after binding the data to the data grid

other wise it will show the null reference error.

because it will not have any data into cells without binding..



thank you

again angel
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Copy/Clone an object. 9 29
ASP.NET 5 Templates 2 64
SQL Exceptions 3 35
C#.NET and microsoft certification. 3 22
The object model of .Net can be overwhelming at times – so overwhelming that quite trivial tasks often take hours of research. In this case, the task at hand was to populate the datagrid from SQL Server database in Visual Studio 2008 Windows applica…
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

947 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now