以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  有关Datalist中drawCell中datarow数据行意义?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=3297)

--  作者:baoxyang
--  发布时间:2009/6/26 11:48:00
--  有关Datalist中drawCell中datarow数据行意义?
请教,有关Datalist中drawCell中datarow数据行是指datalist中选定当前行,还是绑定的数据表中行的位置?
--  作者:狐狸爸爸
--  发布时间:2009/6/26 11:50:00
--  
datalist中选定当前行
--  作者:baoxyang
--  发布时间:2009/6/26 12:26:00
--  
在窗口加载时,
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.AddUserStyle("a",Color.Blue,Color.White)

在Datalist中drawCell事件中,
if e.datarow Isnot nothing then
   e.Style = “a”
end if
但结果是,Datalist中当行前颜色不变化,而是未选定行变化,请教是哪里出问题了?多谢各位指点!
--  作者:狐狸爸爸
--  发布时间:2009/6/26 12:28:00
--  
DataRow表示正在绘制的行
Current表示的才是选定行

if e.datarow("_Identify") = dst.Current("_Identify")  then
   e.Style = “a”
end if

--  作者:baoxyang
--  发布时间:2009/6/26 12:29:00
--  

本人目的,是希望选定行发生颜色变化,应如何实现?


--  作者:baoxyang
--  发布时间:2009/6/26 12:41:00
--  
按老大的代码,颜色没有发生变化。不知何故?


--  作者:baoxyang
--  发布时间:2009/6/26 12:52:00
--  
我代码是:(工号是为唯一的)
if e.datarow("工号") = dst.Current("工号")  then
   e.Style = “a”
end if
结果是,选定的行不发生颜色变化。再次请教了!

--  作者:狐狸爸爸
--  发布时间:2009/6/26 12:54:00
--  
这个对dst无效,dst选定行已经整体着色了的
--  作者:baoxyang
--  发布时间:2009/6/26 13:01:00
--  
if e.datarow Isnot nothing then
   e.Style = “a”
end if
但我用以上代码,选定不着色,但未选择行就着色。不明白呀?
--  作者:狐狸爸爸
--  发布时间:2009/6/26 13:08:00
--  
e.Datarow表示正在绘制的行,它怎么会是Nothing,所以条件永远成立,所有行着色。
只是选定行无法着色,所以出现你看到的现象!