问题如下比如,从数据库中查询得到的结果,想在画面上作个一览,然后每条纪录的左边是个checkbox(或者radiobutton),也就是说最左边一列是checkbox(或者radiobutton),用户可以对checkbox(或者radiobutton)进行编辑,然后通过一个按钮来处理画面上用户选定的纪录。想问的是,可不可以通过.net的控件来实现这一功能,比如用datalist,加一列checkbox(或者radiobutton),然后用户点击按钮后可以从datalist中读到选择状态。msdn中有关于datalist的项目选择的做法介绍,但是选择方法是通过button或linkbutton,而我希望的是通过checkbox或radiobutton先纪录下用户的选择,然后再处理。不知道可不可能实现,向大家请教。

解决方案 »

  1.   

    aspx:
    <asp:datagrid id="dgrdData" runat="server" PagerStyle-HorizontalAlign="Right" AutoGenerateColumns="False" AllowSorting="True" DataKeyField="参数字段">
      <...>
      <Columns>
        <asp:TemplateColumn> 
          <...>
          <ItemTemplate>
            <asp:CheckBox ID="chkID" runat="server" />
          </ItemTemplate>
        </asp:TemplateColumn>
        <asp:HyperLinkColumn  ...>
      </Columns>
    </asp:datagrid>
    cs:
                          
    try
    {
      foreach (DataGridItem i in this.dgrdData.Items)
      {
        CheckBox inChk = (CheckBox)i.FindControl("chkID");
        if (inChk.Checked)
        {
          ...    
        }
      }
      ...
    }
    catch(SqlException ex)
    {
    ...
    }
      

  2.   

    int iOID = Convert.ToInt32(this.dgrdData.DataKeys [i.ItemIndex].ToString());