首先祝大家五一快乐
我用到了微软自带的datagrid表格,但使用时出现了如下问题
1.我不想使用表格分页,所以我在使用datagrid时,在外面套了一个div;
2.我在表格中定义了一个“选择列“;
3.点击“选择列”时,选中了本行,但是,表格又回到了第一行,需要拉动div的滚动条才能找到所选中的行,非常不方便。
大家有没有什么好的办法,达到选中的目的就行,选中后需要有颜色的变化。初学asp,没有什么经验,希望大家帮忙!
我用到了微软自带的datagrid表格,但使用时出现了如下问题
1.我不想使用表格分页,所以我在使用datagrid时,在外面套了一个div;
2.我在表格中定义了一个“选择列“;
3.点击“选择列”时,选中了本行,但是,表格又回到了第一行,需要拉动div的滚动条才能找到所选中的行,非常不方便。
大家有没有什么好的办法,达到选中的目的就行,选中后需要有颜色的变化。初学asp,没有什么经验,希望大家帮忙!
解决方案 »
- [color=#FF0000]如何在一个系统中连接两个数据库?[/color]
- 鼠标经过文本框中改变颜色如何实现,谢谢大家!
- 我发现有些网站的弹出对话框很漂亮,是网页式样的,还是模式对话框。该怎样实现啊?
- asp.net 如何将多行数据一起输入到数据库?
- 担忧的一个问题:以后服务器变为asp.net2.0了,那我们为客户做的asp.net1.1的怎么办?
- 有点难的问题!Datagrid可不可以实现以下结果!
- [精华&原创]可按任意字段排序的分页存储过程(不用临时表的方法,不看全文会后悔)
- *******************存储过程返回值的问题************
- 自动增长列
- sql server 连接的问题
- 如何解决去除目录读取过程中不该出现的那些文件夹?
- =================请教各位大侠,顶者有分!
<script language="javascript">
<!--
// 获取当前文件名
function getFileName()
{
var url = this.location.href
var pos = url.lastIndexOf("/");
if(pos == -1)
pos = url.lastIndexOf("\\")
var filename = url.substr(pos +1)
return filename;
} function fnLoad()
{
with(window.document.body)
{
addBehavior ("#default#userData"); // 使得body元素可以支持userdate
load("scrollState" + getFileName()); // 获取以前保存在userdate中的状态
scrollLeft = getAttribute("scrollLeft"); // 滚动条左位置
scrollTop = getAttribute("scrollTop");
}
} function fnUnload()
{
with(window.document.body)
{
setAttribute("scrollLeft",scrollLeft);
setAttribute("scrollTop",scrollTop);
save("scrollState" + getFileName());
}
}
window.onload = fnLoad;
window.onunload = fnUnload; // -->
</script>2.选中后需要有颜色变化.这个如果点击编辑按钮的情况你修改EditItem-Style,如果是一般的ItemCommand事件,你可以在ItemCreated事件里动态修还列里控件的属性.
function onscrollform()
{
document.all["pos"].value = document.body.scrollTop;
}
function formOnload()
{
OnloadForScroll();
}
function OnloadForScroll()
{
var spos = document.all["pos"].value;
window.scrollTo( 0, spos );
}
<BODY onscroll="onscrollform();" onload="formOnload();" ms_positioning="FlowLayout">
<asp:textbox id="pos" style="DISPLAY: none" Runat="server"></asp:textbox>
//////////////////////////////////////////////////////////////////////////////////////////
//2.form自身滚动条被禁止,而通过div的滚动条来控制
function scrollDiv()
{
document.all.pos.value = document.all.onlinediv.scrollTop;//onlinediv是一个div
}
function formOnload()
{
OnloadForScroll();
}
function OnloadForScroll()
{
var spos = document.all["pos"].value;
if(! spos)spos=0;
document.all.onlinediv.scrollTop=spos;
}
<BODY onscroll="onscrollform();" onload="formOnload();" ms_positioning="FlowLayout">
<asp:textbox id="pos" style="DISPLAY: none" Runat="server"></asp:textbox>
///////////////////*****************************************
可以用html control
我们在做.net开发时,经常能碰到这样的情况,页面很长,而我们一般用的都是服务器端控件,用服务器端控件有这样一个缺点,就是控件每次都要和服务器交互,而产生页面的刷新,试想一下,如果页面很长,而页面中的控件又很多,每次都要刷新到页面顶部,那我们在填写资料时页面每刷新一次我们都要拖动一次滚动条,这样实在是很麻烦,问题由此产生,一些人用SmartNavigation 方法,这个方法可行,但它一般会与页面中的验证控件或是JS 产生冲突,从而导致页面的失效,在这我找到一个用JS来解决问题的办法供大家参考环境为VS.NET 2000和VS.NET 2003通过<script language="javascript">
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie (name, value)
{
document.cookie = name + "=" + escape (value)
}
</script>在body中加入
<body bgColor="#f1f5f5" leftMargin="0" topMargin="0" rightMargin="0" MS_POSITIONING="GridLayout" onload="document.body.scrollTop=GetCookie(''posy'')" onunload="SetCookie(''posy'',document.body.scrollTop)">测试已通过~~~如有问题请大家指正!
我在body里写了那个方法,不好用啊,我在div里也写了,但是不行啊