在asp.net gridview中排序问题 [英] sorting problem in asp.net gridview

查看:191
本文介绍了在asp.net gridview中排序问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个网站,因为我已经为用户提供了通过创建用户视图动态生成网格结果的设施。



现在我的问题我不能对列进行排序。

i写这样的查询

  SELECT  Contact.cFirstName  as  [FIRST NAME],Contact.cEmail  as  [EMAIL ID],Contact.cPhone  as  [PHONE NO],Contact.cMobile  as  [MOBILE]  FROM  CompanyMaster  RIGHT   OUTER   JOIN 联系人 ON  CompanyMaster.nCompanyId = Contact.nContactId  LEFT   OUTER   JOIN  LeadSourceMa ster  ON  Contact.nLeadSource = LeadSourceMaster.nLeadSourceID 





联系方式.cFirstName为[FIRST NAME],Contact.cEmail为[EMAIL ID],Contact.cPhone为[PHONE NO],Contact.cMobile为[MOBILE] 字段为dynamic.so我无法创建绑定字段。



i已经允许排序为gridview.if我将排序第一列然后给出错误

找不到列FIRST NAME。



pl帮我解决这个问题。

解决方案

尝试这种方式排序在datatable ... :)



 DataTable dtGetData =  new  DataTable (); 

DataView dv = dtGetData.DefaultView;


dv.Sort = ColumnName + + ASC;

// 或(你可以动态传递)

dv.Sort = ColumnName + + DESC;

DataTable dtGetShipments = new DataTable();

dtGetShipments = dv.ToTable();

// 将此dtGetShipments数据表绑定到gridview





更多解决方案.. :)

[ ^ ]


1.你应该更改与下一个类似的SQL字符串:

  SELECT  c.cFirstName,c.cEmail,c .cPhone,c.cMobile  FROM  CompanyMaster  AS  c  RIGHT   OUTER   JOIN 联系 ON  CompanyMaster .nCompanyId = Contact.nContactId  LEFT   OUTER   JOIN  LeadSourceMaster  ON  Contact.nLeadSource = LeadSourceMaster.nLeadSourceID 



2.在ASP页面中更改排序表达式,如下所示:

的SortExpression = c.cFirstName


i am developing one web site in that i have given facility to user for generating grid result dynamically by creating user view.

now my problem i am not able to make sorting of the colums.
i am writing query like this

SELECT    Contact.cFirstName  as [ FIRST NAME],  Contact.cEmail  as [ EMAIL ID], Contact.cPhone  as [ PHONE NO], Contact.cMobile  as [ MOBILE]  FROM         CompanyMaster RIGHT OUTER JOIN  Contact ON CompanyMaster.nCompanyId = Contact.nContactId LEFT OUTER JOIN  LeadSourceMaster ON Contact.nLeadSource = LeadSourceMaster.nLeadSourceID



Contact.cFirstName as [ FIRST NAME], Contact.cEmail as [ EMAIL ID], Contact.cPhone as [ PHONE NO], Contact.cMobile as [ MOBILE] fields are dynamic.so i can't create bound fields.

i have made allow sorting true for gridview.if i will sort first column then give error
Cannot find column FIRST NAME.

pl help me to resolve this problem.

解决方案

try this way to sort in datatable... :)

DataTable dtGetData = new DataTable();

DataView dv = dtGetData.DefaultView;


dv.Sort = "ColumnName" + " " + "ASC";

//OR (You can pass it dynamically)

dv.Sort = "ColumnName" + " " + "DESC";

DataTable dtGetShipments = new DataTable();

dtGetShipments = dv.ToTable();

//bind this "dtGetShipments" datatable to gridview



For more solution.. :)
sorting problem in asp.net gridview[^]


1.You should change your SQL string similar with the next one:

SELECT    c.cFirstName ,  c.cEmail  , c.cPhone , c.cMobile  FROM         CompanyMaster AS c RIGHT OUTER JOIN  Contact ON CompanyMaster.nCompanyId = Contact.nContactId LEFT OUTER JOIN  LeadSourceMaster ON Contact.nLeadSource = LeadSourceMaster.nLeadSourceID


2.In the ASP page change the sort expression like this:

SortExpression="c.cFirstName"


这篇关于在asp.net gridview中排序问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆