(急)如何设置gridview的模版列中textbox的状态根据checkbox而改变?

有一gridview(gridview1)(初始绑定表UserInfo数据),里面第一列cells[0]添加了checkbox(chkitem)控件,有四个参数,cell... 有一gridview(gridview1)(初始绑定表UserInfo数据),里面第一列cells[0]添加了checkbox(chkitem)控件,有四个参数,cells[5]添加了textbox(remark)(初始不可见),然后有两个button(button1)(button2),在gridview1中选中数据,点击button1时选中行的textbox可见可写,写入数据后点击button2进行数据更新并重新绑定到gridview1。
我想问这里怎么设置textbox可见可写的转变,我对onrowcommand,rowdatabound 这些不了解,而且要通过button1触发的,觉得很迷糊,希望会的能写一下详细步骤加原理解释,或者觉得这里要怎么改比较好也请说一下吧谢谢!!
展开
 我来答
百度网友20451b4
2011-03-10 · TA获得超过566个赞
知道小有建树答主
回答量:389
采纳率:0%
帮助的人:0
展开全部

没有你那么麻烦的。。你看看这个

public partial class _Default : System.Web.UI.Page 

{

    SqlConnection sqlcon;

    SqlCommand sqlcom;

    string strCon = "Data Source=(local);Database=数据库名;Uid=帐号;Pwd=密码";

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            bind();

        }

    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

    {

        GridView1.EditIndex = e.NewEditIndex;

        bind();

    }

//删除

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        string sqlstr = "delete from 表 where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";

        sqlcon = new SqlConnection(strCon);

        sqlcom = new SqlCommand(sqlstr,sqlcon);

        sqlcon.Open();

        sqlcom.ExecuteNonQuery();

        sqlcon.Close();

        bind();

    }

//更新

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        sqlcon = new SqlConnection(strCon);

        string sqlstr = "update 表 set 字段1='"

            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='"

            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='"

            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='" 

            + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";

        sqlcom=new SqlCommand(sqlstr,sqlcon);

        sqlcon.Open();

        sqlcom.ExecuteNonQuery();

        sqlcon.Close();

        GridView1.EditIndex = -1;

        bind();

    }

//取消

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        GridView1.EditIndex = -1;

        bind();

    }

//绑定

    public void bind()

    {

        string sqlstr = "select * from 表";

        sqlcon = new SqlConnection(strCon);

        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);

        DataSet myds = new DataSet();

        sqlcon.Open();

        myda.Fill(myds, "表");

        GridView1.DataSource = myds;

        GridView1.DataKeyNames = new string[] { "id" };//主键

        GridView1.DataBind();

        sqlcon.Close();

    }

}

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"

                        ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"

                        OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">

                        <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />

                        <Columns>

                            <asp:BoundField DataField="身份证号码" HeaderText="用户ID" ReadOnly="True" />

                            <asp:BoundField DataField="姓名" HeaderText="用户姓名" />

                            <asp:BoundField DataField="员工性别" HeaderText="性别" />

                            <asp:BoundField DataField="家庭住址" HeaderText="家庭住址" />

                            <asp:CommandField HeaderText="选择" ShowSelectButton="True" />

                            <asp:CommandField HeaderText="编辑" ShowEditButton="True" />

                            <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />

                        </Columns>

                        <RowStyle ForeColor="#000066" />

                        <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />

                        <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />

                        <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />

                    </asp:GridView>

要是还不懂可以留个邮箱给我。。发给你看看

百度网友4a7eeafb58
2011-03-11 · 超过27用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:46.5万
展开全部
给你个提示吧
你在 button1的单击事件中 写入:
TextBox txt=Gridview1.Row.FindControl("textbox1") as TextBox ; //可以取到你想操作的控件
txt.visible=true; //控件的属性都可以更改 自己需要什么自己该就可以了
button2的单击事件中 进行你需要的操作就行了
如果textbox1的默认visible =false 直接重新绑定gv就行了
如果是true 你在button2的事件中设置它为false
希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式