如何在webForm上画一个图表(内有若干单元格),实现鼠标点击单元格背景颜色改变。
如何在webForm上画一个图表(内有若干单元格,单元格的数量是固定的,3列2行共6个单元格),实现鼠标点击哪个单元格,该单元格的背景颜色就改变,并且得到该单元格的在图表内的唯一标识(以便将程序中该单元格对应的变量值改变)。例如:日历控件中的,鼠标点击一个格,其颜色就改变。
我想只用C#实现(方便点击单元格改变其对应的变量值),不用JavaScript。
初步构想,使用DataTable,将每个单元格对应的颜色值放到数组里,单元格的数量是固定的,3列2行共6个单元格,所以,放入两个数组a[3]和b[3]中。增加DataTable的DataRow。如下:
DataTable dt = new DataTable();
DataRow dr;
dr = dt.NewRow();
dr[0] = a[0];
dr[1] = a[1];
dr[2] = a[2];
dr = dt.NewRow();
dr[0] = b[0];
dr[1] = b[1];
dr[2] = b[2];
dt.Rows.Add(dr);
再将DataTable绑定给一个DataGrid,如下:
DataGrid1.DataSource = dt;
DataGrid1.DataMember = dt.TableName;
DataGrid1.DataBind();
下面,要实现,点击DataGrid中的一个单元格改变其颜色,和改变单元格对应的数组中的值。该怎么做?????(疑问点1,如何点击DataGrid中的一个单元格改变其颜色。疑问点2,如何改变单元格对应的数组中的值,即取得单元格在DataGrid中的位置)
以上是我的想法,不知是否可行。如果不行,有其他方法也好可以。
能有示例最好。
问题点数:100、回复次数:5Top
1 楼btut2004(养鱼炒股)回复于 2004-08-01 11:00:47 得分 20
1\取得选中的单元格,不会
2、设置单元格颜色。好像是datagrid1[x][y].style="sldfjlsdf"
3\不知道Top
2 楼emiao_2001(雾)回复于 2004-08-01 13:40:26 得分 0
试了试好象不对Top
3 楼caiyajun512(田鼠)回复于 2004-08-01 13:51:19 得分 80
你的目的是实现服务端能对单元格控制。
用DataGrid可以修改value,但控制单元格不好。
有点复杂:
1.页面上用<table>标记构造日历。对每个单元格的id添加属性。
2.单元格的数据用xml数据岛绑定。
3.写javascript脚本控制value和color的改变。将修改value和color
写入xml文件。
4.回发xml文件.服务器端解析xml,读取数据。
关于回发。a.把xml写入隐藏web控件.b用HTTPRequest对象。
5.服务器端修改xml文件,刷新页面.
6.如不刷新,可以加入隐藏web控件,接受服务器的数据.再用javascript脚本
修改对应的单元格value.
最好的方法:你写个asp.net服务器控件.把上面的部分内容封装进去.
Top
4 楼emiao_2001(雾)回复于 2004-08-01 14:20:07 得分 0
我想过用这个方法,但服务器控件没有开发过,时间也来不及。
所以想用DataGrid。
其实我是想,每一行的所有单元格的颜色(如:白色为0,红色为1)的值连起来组合为一个字符串,可放入数据库里。也可从数据库里取出对应字段的值,分解。然后根据分解的结果显示每个单元的颜色。也可点击某个单元格根据其颜色,改写数据库里取出对应字段的值。
Top
5 楼emiao_2001(雾)回复于 2004-08-02 13:48:57 得分 0
upTop
相关问题
- 当我鼠标点MSHFlexGrid控件某单元格时,该单元格变色
- 如何获取鼠标在DBGrid单元格的内容
- 请问用鼠标点击DataGrid(Winform)某一个单元格如何得到这个单元格的值?
- 怎样获得鼠标单击或双击DATAGRID单元格时,返回的单元格的行号和列号?
- 如何获取DataGridView(2005)中,当前鼠标点击的单元格的鼠标?
- 请问在Msflexgrid中如何用鼠标右键选定单元格?
- listview中如何得到当前鼠标所在位置的单元格内容
- 如何通过鼠标感知 DBGrid 单元格下记录的字段值?
- 如何判断用户的鼠标在 CListCtrl 的不同的单元格移动?
- 请问如何取得DBGrid中鼠标点击的单元格的记录值?




