在DATALIST中,数据只有行的概念,没有列的概念,所以不可能通过简单的方法获取第几行第几列的内容。要获得行,可以; DataList.Items[i]来获得。要获得列,需要知道你要获得数据对象的ID,让后,通过ITEM的FINDCONTROL来搜索了。建议使用DATAGRID吧。

解决方案 »

  1.   

    同意楼上,如果想用列,最好用DataGrid,DataList是没有列概念的,如果你真把几列数据同时绑定到DataList上,估计你就得用自己定义的分隔符分开,然后再取数据时用split或substring了,用datagrid的话你就用datagrid.Items[i].Cells[j].Text取了
      

  2.   

    谢谢答复我!还有一个问题请教:
    在datagrid中使用模板加入checkbox控件后,又实现了分页功能。
    我想问,怎么实现勾取了当页checkbox项后,在翻页后在返回有勾取checkbox项的页时,勾取的checkbox项的选中状态还在。即:如果我选中第一页某几项后,翻页到其他页(如第二页),然后又返回第一页时,那前面选中的几项的选中状态还存在。这个功能实现吗?请给出正确的解答吧。
      

  3.   

    这个功能实现吗?请给出正确的解答吧。
    做个arraylist保存选中的项目,然后在ItemDataBound的时候查询保存的arraylist然后设置控件状态
      

  4.   

    很难实现。你可以用js捕捉其选择的项,用一个隐藏的textbox记录下已经选择的项。
      

  5.   

    教你个笨方法,在页面中定义一个静态字符串变量,其组成由:页码+ 分隔符一+被选种的checkBox的行数+ 分隔符二,在选择checkbox时很简单,按照这个格式把数据加到字符串中,取消某个选择的时候,用split把字符串变成数组,split的分隔符是分隔符二,然后把取消的那个checkbox的数据和数组中数据对比,找到后变为一个你让他无效的值,如"-1"+分隔符+"-1"然后重组字符串,翻页时查看数组,找到本页的数据,让checkbox选中。
    本人的笨想法,应该有更好的方法,我只是抛砖引玉,大家不要丢白菜:)
      

  6.   

    使用以上的方法,那checkbox选择要做方法的,这样程序会不会很慢?
    .net就没有可以保存状态的方法吗?