选择    |    编号   |   名称
---------------------------------
选择框      A-1        AAAA
选择框      B-3        BBBB
根据每一行中的checkbox是否被选择,来修改编号和名称里的textbox项!C#2005 + Access格式如上,请问大家怎么弄!

解决方案 »

  1.   

    http://blog.csdn.net/net_lover/archive/2006/11/08/1374505.aspx
      

  2.   

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">protected void Page_Load(object sender, EventArgs e){
    if(!Page.IsPostBack){
    Createdata(10);
    }}
    protected void Createdata(int rowcount) {
    DataTable dt = new DataTable();
    DataColumn dc = new DataColumn("f1", typeof(bool));
    dt.Columns.Add(dc);
    dc = new DataColumn("f2", typeof(string));
    dt.Columns.Add(dc);
    dc=new DataColumn("f3",typeof(int));
    dt.Columns.Add(dc);
    for (int i = 0; i < rowcount; i++) {
    dt.Rows.Add(new object[] {null,null,null});
    }
    this.GridView1.DataSource = dt.DefaultView;
    this.GridView1.DataBind();}
    protected void Button1_Click(object sender, EventArgs e)
    {foreach (GridViewRow gvr in GridView1.Rows) {
        bool update = ((CheckBox)gvr.Cells[0].Controls[1]).Checked;
        if (update)
        {
            bool b = ((CheckBox)gvr.Cells[1].Controls[1]).Checked;
            string s = ((TextBox)gvr.Cells[2].Controls[1]).Text;
            int i = Int32.Parse(((DropDownList)gvr.Cells[3].Controls[1]).SelectedValue);
            string sql = String.Format("insert into table values({0},'{1}',{2})", b, s, i);
            Response.Write(sql + " 正在执行<br/>");
        }
    }}
    </script><html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" runat="server">
    <title>Untitled Page</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:TemplateField>
    <ItemTemplate>
        <asp:CheckBox runat="server" ID="cb1" />
    </ItemTemplate>
    </asp:TemplateField><asp:TemplateField>
    <ItemTemplate>
    <asp:CheckBox ID="CheckBox1" runat="server" />
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
    <ItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
    <ItemTemplate>
    <asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem Value="0">li1</asp:ListItem>
    <asp:ListItem Value="1">li1</asp:ListItem>
    <asp:ListItem Value="2">li1</asp:ListItem>
    <asp:ListItem Value="3">li1</asp:ListItem>
    </asp:DropDownList>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView></div>
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" />
    </form>
    </body>
    </html>
      

  3.   


    <%@ Page Language="C#" Debug="true" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
    string[] ClassNameArray = { "大学", "中学", "高中" };//初始化原来的值
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {    
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
        System.Data.DataRowView drv = (System.Data.DataRowView)e.Row.DataItem;
        RadioButtonList rbl = (RadioButtonList)e.Row.FindControl("txtGender");
        if (rbl != null)
        {
          if ((bool)drv["Gender"])
          {
            rbl.Items.FindByText("男").Selected = true;
          }
          else
          {
            rbl.Items.FindByText("女").Selected = true;
          }
        }    DropDownList ddl = (DropDownList)e.Row.FindControl("txtClassName");
        if (ddl != null)
        {
          ddl.Items.FindByText(drv["ClassName"].ToString()).Selected = true;
        }
      }
    }// 初始化项目列表
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {    
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
        DropDownList ddl = (DropDownList)e.Row.FindControl("txtClassName");
        ddl.DataSource = ClassNameArray;
        ddl.DataBind();
      }
    }//处理提交的数据
    protected void XianhuiMeng_Click(object sender, EventArgs e)
    {
      foreach (GridViewRow gvr in GridView1.Rows)
      {
        string tGender = ((RadioButtonList)gvr.FindControl("txtGender")).SelectedValue;
        SqlDataSource1.UpdateParameters.Add(new Parameter("@Title", TypeCode.String, ((TextBox)gvr.FindControl("txtTitle")).Text));
        SqlDataSource1.UpdateParameters.Add(new Parameter("@Gender", TypeCode.Boolean, (tGender == "男" ? "True" : "False")));
        SqlDataSource1.UpdateParameters.Add(new Parameter("@ClassName", 
                       TypeCode.String, ((DropDownList)gvr.FindControl("txtClassName")).SelectedValue));
        SqlDataSource1.UpdateParameters.Add(new Parameter("@id", TypeCode.Int32, GridView1.DataKeys[gvr.DataItemIndex].Value.ToString()));
        SqlDataSource1.Update();
        SqlDataSource1.UpdateParameters.Clear();
      }
      Response.Redirect(Request.UrlReferrer.ToString());
    }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    <title>同时编辑 GridView的 多行</title>
    </head>
    <body>
    <form id="form1" runat="server">
      <asp:GridView ID="GridView1" runat="server" Font-Size="12px" CellPadding="3" AutoGenerateColumns="False"
        DataKeyNames="id" DataSourceID="SqlDataSource1" OnRowDataBound="GridView1_RowDataBound"
        OnRowCreated="GridView1_RowCreated">
        <HeaderStyle BackColor="#EDEDED" />
        <Columns>
          <asp:TemplateField HeaderText="姓名">
            <ItemTemplate>
              <asp:TextBox ID="txtTitle" runat="server" Text='<%#Eval("Title") %>'></asp:TextBox>
            </ItemTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="性别">
            <ItemTemplate>
              <asp:RadioButtonList ID="txtGender" runat="server" RepeatColumns="2">
                <asp:ListItem Text='男'></asp:ListItem>
                <asp:ListItem Text='女'></asp:ListItem>
              </asp:RadioButtonList>
            </ItemTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="学历">
            <ItemTemplate>
              <asp:DropDownList ID="txtClassName" runat="server">
              </asp:DropDownList>
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|ASPNET20Book.mdb;Persist Security Info=True"
        ProviderName="System.Data.OleDb" SelectCommand="SELECT * FROM [Student]" 
        UpdateCommand="Update [Student] Set Title = @Title,Gender = @Gender,ClassName=@ClassName Where id=@id">
      </asp:SqlDataSource>
      <asp:Button ID="Button1" runat="server" Text="保存所有修改" OnClick="XianhuiMeng_Click" />
    </form>
    </body>
    </html>注意:对于SQL Server 数据库,参数名字不加@。另外注意:不同数据库类型和不同的数据源,UpdateCommand="Update [Student] Set Title = @Title,Gender = @Gender,ClassName=@ClassName Where id=@id"写法和SqlDataSource1.UpdateParameters.Add(new Parameter("@Title", TypeCode.String, ((TextBox)gvr.FindControl("txtTitle")).Text)); 的写法会有所区别。循还一次就行嘛!
     
      

  4.   

    每一行设置一个 i ,编号     名称,设置成 Textbox 默认 
    for(i=0;i<;i++)
    {
    if(CheckBoxi.Checked)
    {
      TextBox编号i.Enabled = true;
      TextBox名称i.Enabled = true;
    }
    }
    TextBox默认Enabled = false;