Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 以编程方式着色的栅格视图单元格在回发时会失去颜色_.net_Vb.net_Gridview_Webforms_Postback - Fatal编程技术网

.net 以编程方式着色的栅格视图单元格在回发时会失去颜色

.net 以编程方式着色的栅格视图单元格在回发时会失去颜色,.net,vb.net,gridview,webforms,postback,.net,Vb.net,Gridview,Webforms,Postback,我正在研究网格视图,它有基于内容的彩色单元格。我已经在RowDataBound事件上给它们上色了。但是,当他们的帖子返回到页面时,颜色就会丢失。正如@TimSchmelter和@julealgon在rowdatabound中正确指出的那样,在帖子返回时,颜色不会持续。所以我在RowCreated中进行了着色。但是,数据源在那里不可用,因此我将绑定网格时用作数据源的数据表存储在viewstate中,并使用rowcreated中的行索引e.row.rowIndex访问数据表行,并使用row crea

我正在研究网格视图,它有基于内容的彩色单元格。我已经在RowDataBound事件上给它们上色了。但是,当他们的帖子返回到页面时,颜色就会丢失。

正如@TimSchmelter和@julealgon在rowdatabound中正确指出的那样,在帖子返回时,颜色不会持续。所以我在RowCreated中进行了着色。但是,数据源在那里不可用,因此我将绑定网格时用作数据源的数据表存储在viewstate中,并使用rowcreated中的行索引e.row.rowIndex访问数据表行,并使用row created事件中的数据执行着色

显示如何在
RowDataBound
中对其着色。该颜色不会在viewstate中持久化,因此您需要在每次回发时对其重新着色。单向:改用
RowCreated
。问题是,您没有数据源。正如@TimSchmelter所说,您在代码隐藏中所做的事情不会自动为您保留。如果在
RowDataBound
事件中进行了着色,则此事件不会再次触发,并且颜色将重置为默认值,这是webforms中的设计。您可以将网格包装在更新面板中,并确保它在不需要更新时不会更新,这将使颜色保持不变。当网格需要刷新时,它将重新绑定到数据,并再次应用您的颜色。您需要使用面板的
UpdateMode
属性,默认情况下该属性为
始终
。谢谢。。通过将我用作数据源的datatable存储在视图状态并在rowcreatedI期间使用它解决了这个问题。我知道这对您很有效,但我强烈建议不要将数据存储在viewstate中。您可以看到,存储在viewstate中的所有内容都会传递给客户端,并在每次往返时返回到服务器。这有时看起来似乎无关紧要,但如果您的数据实际上很大,您可能会遇到非常严重的问题。有一次,我们得到了一个11mb的html页面,不得不重新设计它。@julealgon是否有其他方法可以访问所创建行中的数据?也许您可以用更多信息更新OP,例如如何准确地更新颜色,
rowdatabound
事件中的代码是什么,标记是如何设置的等。如果不将数据保存在某个位置(viewstate/session/etc),您确实无法访问
rowcreated
事件中的数据,但我想确切了解您正在尝试做什么,以及如何建议一个不依赖于此的替代方案。