Click here to Skip to main content
15,351,471 members
Home / Discussions / ASP.NET
   

ASP.NET

 
PinnedHOW TO ANSWER A QUESTION PinPopular
Chris Maunder12-Jul-09 22:39
cofounderChris Maunder12-Jul-09 22:39 
Questionis there any code for capture screenshot and retrive system information in .net mvc core? Pin
Member 1568985228-Jun-22 0:23
MemberMember 1568985228-Jun-22 0:23 
AnswerRe: is there any code for capture screenshot and retrive system information in .net mvc core? Pin
Richard Deeming28-Jun-22 1:00
mveRichard Deeming28-Jun-22 1:00 
Questionaspnet core use TempData error! Pin
Member 940386815-Jun-22 20:21
MemberMember 940386815-Jun-22 20:21 
AnswerRe: aspnet core use TempData error! Pin
Richard Deeming15-Jun-22 21:20
mveRichard Deeming15-Jun-22 21:20 
AnswerRe: aspnet core use TempData error! Pin
Mycroft Holmes16-Jun-22 12:41
professionalMycroft Holmes16-Jun-22 12:41 
QuestionSELECT DISTINCT Pin
kjell.ek19-May-22 3:16
Memberkjell.ek19-May-22 3:16 
AnswerRe: SELECT DISTINCT Pin
Ron Nicholson19-May-22 6:21
professionalRon Nicholson19-May-22 6:21 
AnswerRe: SELECT DISTINCT Pin
Member 1562749519-May-22 11:11
MemberMember 1562749519-May-22 11:11 
GeneralRe: SELECT DISTINCT Pin
Richard Deeming19-May-22 21:42
mveRichard Deeming19-May-22 21:42 
GeneralRe: SELECT DISTINCT Pin
kjell.ek20-May-22 2:58
Memberkjell.ek20-May-22 2:58 
GeneralRe: SELECT DISTINCT Pin
Alaren23-Jun-22 5:23
MemberAlaren23-Jun-22 5:23 
QuestionMilliseconds from excel Pin
kjell.ek16-May-22 10:10
Memberkjell.ek16-May-22 10:10 
AnswerRe: Milliseconds from excel Pin
Richard Deeming16-May-22 21:35
mveRichard Deeming16-May-22 21:35 
GeneralRe: Milliseconds from excel Pin
kjell.ek16-May-22 23:15
Memberkjell.ek16-May-22 23:15 
QuestionASP.NET Gridview load data Pin
Herman<T>.Instance28-Apr-22 3:16
MemberHerman<T>.Instance28-Apr-22 3:16 
AnswerRe: ASP.NET Gridview load data Pin
Richard Deeming28-Apr-22 4:40
mveRichard Deeming28-Apr-22 4:40 
GeneralRe: ASP.NET Gridview load data Pin
Herman<T>.Instance2-May-22 0:47
MemberHerman<T>.Instance2-May-22 0:47 
GeneralRe: ASP.NET Gridview load data PinPopular
Dave Kreskowiak2-May-22 2:12
mveDave Kreskowiak2-May-22 2:12 
GeneralRe: ASP.NET Gridview load data Pin
Herman<T>.Instance2-May-22 3:23
MemberHerman<T>.Instance2-May-22 3:23 
GeneralRe: ASP.NET Gridview load data Pin
Herman<T>.Instance3-May-22 4:46
MemberHerman<T>.Instance3-May-22 4:46 
And now in CODE
(used the ScottGu mentioned code in the link from first reply)
Created a clean asp.net 4.7.2 webforms project.
I have an ODATA service which is read via Unchase OData library
Index.Asp has the gridview:
ASP.NET
<asp:GridView runat="server" ID="GrdTest"
                AutoGenerateColumns="false" DataKeyNames="Id"
                ItemType="MarinGlobalService.Models.User"
                SelectMethod="GrdTest_GetData"
                >
                <Columns>
                    <asp:DynamicField DataField="Name" HeaderText="Name" />
                    <asp:DynamicField DataField="SurName" HeaderText="Surname"  />
                    <asp:DynamicField DataField="GivenName" HeaderText="GivenName"  />
                    <asp:TemplateField HeaderText="# of Usergroups">
                        <ItemTemplate><%# Item.UserGroup.Count %></ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
My codebehind:
C#
namespace TestGridView
{
    public partial class Index : Page
    {

        private Default.Container container; // is for working with the OData Service

        protected void Page_Init(object sender, EventArgs e)
        {
            Uri uri = new Uri("<a href="http://localhost/api/global">http://localhost/api/global</a>");
            container = new Default.Container(uri)
            {
                Credentials = CredentialCache.DefaultNetworkCredentials,
                Timeout=3600
            };
        }
        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            GrdTest.BackColor = System.Drawing.Color.LightGreen;
            GrdTest.AlternatingRowStyle.BackColor = System.Drawing.Color.LightBlue;
            GrdTest.RowStyle.BackColor = System.Drawing.Color.LightGray;
        }

        // The return type can be changed to IEnumerable, however to support
        // paging and sorting, the following parameters must be added:
        //     int maximumRows
        //     int startRowIndex
        //     out int totalRowCount
        //     string sortByExpression
        public IQueryable<User> GrdTest_GetData(int? maximumRows, int? startRowIndex)
        {
            if (maximumRows == null || startRowIndex == null)
                return container.Users;

            return container.Users.Skip(startRowIndex ?? 0).Take(maximumRows ?? 0);
        }
    }
}
This will lead to 1 gridview without paging and shows data.

Then I change my GridView to:
ASP.NET
<asp:GridView runat="server" ID="GrdTest"
                AutoGenerateColumns="false" DataKeyNames="Id"
                ItemType="MarinGlobalService.Models.User"
                SelectMethod="GrdTest_GetData"
                AllowPaging="true" PageSize="5"
                >
                <Columns>
                    <asp:DynamicField DataField="Name" HeaderText="Name" />
                    <asp:DynamicField DataField="SurName" HeaderText="Surname"  />
                    <asp:DynamicField DataField="GivenName" HeaderText="GivenName"  />
                    <asp:TemplateField HeaderText="# of Usergroups">
                        <ItemTemplate><%# Item.UserGroup.Count %></ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
And the answer is:
C#
[ArgumentException: must be reducible node]
   System.Linq.Expressions.Expression.VisitChildren(ExpressionVisitor visitor) +97
   System.Linq.Expressions.ExpressionVisitor.VisitExtension(Expression node) +11
   System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor) +12
   System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) +20
   System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes) +60
   System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node) +43
   System.Web.Util.OrderingMethodFinder.VisitMethodCall(MethodCallExpression node) +43
   System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) +12
   System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) +20
   System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes) +60
   System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node) +43
   System.Web.Util.OrderingMethodFinder.VisitMethodCall(MethodCallExpression node) +43
   System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) +12
   System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) +20
   System.Web.Util.OrderingMethodFinder.OrderMethodExists(Expression expression) +38
   System.Web.UI.WebControls.QueryableHelpers.IsOrderingMethodFound(IQueryable`1 queryable) +16

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
   System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +168
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +105
   System.Web.UI.WebControls.ModelDataSourceView.ProcessSelectMethodResult(DataSourceSelectArguments arguments, DataSourceSelectResultProcessingOptions selectResultProcessingOptions, ModelDataMethodResult result) +393
   System.Web.UI.WebControls.ModelDataSourceView.GetSelectMethodResult(DataSourceSelectArguments arguments) +86
   System.Web.UI.WebControls.ModelDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +14
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +17
   System.Web.UI.WebControls.ModelDataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +81
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +169
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +71
   System.Web.UI.WebControls.GridView.DataBind() +5
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +93
   System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +72
   System.Web.UI.Control.EnsureChildControls() +116
   System.Web.UI.Control.PreRenderRecursiveInternal() +49
   System.Web.UI.Control.PreRenderRecursiveInternal() +236
   System.Web.UI.Control.PreRenderRecursiveInternal() +236
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4719

So why does Scott Guthrie gets paging and doesn't it work for me? And what is this reducible node?

Changing the GrdTest_Getdata method to:
C#
public IQueryable<User> GrdTest_GetData(int? maximumRows, int? startRowIndex, out int? totalRowCount, string sortByExpression)
        {
            // if (maximumRows == null || startRowIndex == null)
            var users = container.Users;
            totalRowCount = users.Count();
            return users;

<pre>
        //return container.Users.Skip(startRowIndex ?? 0).Take(maximumRows ?? 0).AsQueryable();
    }</pre>

will allow to have sortByExpression is set, but the collection does not get ordered by it.So AllowSorting will not give issues, only AllowPaging does.
In Word you can only store 2 bytes. That is why I use Writer.


modified 3-May-22 11:22am.

GeneralRe: ASP.NET Gridview load data Pin
Richard Deeming3-May-22 5:31
mveRichard Deeming3-May-22 5:31 
GeneralRe: ASP.NET Gridview load data Pin
Herman<T>.Instance3-May-22 5:38
MemberHerman<T>.Instance3-May-22 5:38 
GeneralRe: ASP.NET Gridview load data Pin
Richard Deeming3-May-22 5:48
mveRichard Deeming3-May-22 5:48 
GeneralRe: ASP.NET Gridview load data Pin
Herman<T>.Instance3-May-22 7:12
MemberHerman<T>.Instance3-May-22 7:12 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.