一个简单的gridview+formview查询器,遇到的问题(未完成)

Tips#1:

排序的时候遇到:不能以   DISTINCT   方式选择   text、ntext   或   image   数据类型。

解决办法:转换成Varchar

SELECT   DISTINCT   CAST(COLNAME   AS   VARCHAR)   FROM   TABLENAME

TipS#2:

update一张表的时候跨两张表,可以这样:

update tb1 set id = (select id from tb2 where......)

where .....

Tips#3:

Gridview里头数据过多而用户不想老点翻页的情况,用户希望一页显示100条数据,所以用上了panel,然后自动伸缩

Tips#4:

gridview选择行的情况,网上找到一段:

e.Row.Attributes.Add("onclick", "__doPostBack('ctl00$MainContent$GridViewRCList','Select$" + e.Row.RowIndex + "')");

缺点:doPostBack!!!导致每次点击靠后的数据时候,点完,然后自动刷新到第一行(虽然选中了靠后数据的那行),虽然用了ajax,doPostBack看起来没那么刺眼,但是用户体验不好。。。

解决办法:在postback的事件之前,用Javacript读取panel,找到panel的属性.scrollTop的值,写入document.cookie,postback之后在page_load事件里头再一次的调用javascript,读取document.cookie,获得scrollTop,然后设置panel的scrollTop。

Tips#5:

Gridview标题不换行

gvStateList.Attributes.Add("style", "word-break:keep-all;word-wrap:normal;white-space:nowrap");

数据不换行

protected void gvStateList_RowCreated(object sender, GridViewRowEventArgs e)
        {
            //设置gridvie不换行;
            for (int i = 0; i < e.Row.Cells.Count; i++)
            {
                e.Row.Cells[i].Wrap = false;
                e.Row.Cells[i].Attributes.Add("style", "word-break :keep-all ; word-wrap:keep-all");
            }
        }

posted on 2012-04-12 13:52  波波夫  阅读(284)  评论(0编辑  收藏  举报