如何在asp .net和c#中的gridview中启用选定的行

这是我的aspx:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="ID" DataSourceID="SqlDataSource1" 
        OnRowCommand="GridView1_RowCommand" AutoGenerateSelectButton="True" EnablePersistedSelection="True">
        <Columns>
            <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
                ReadOnly="True" SortExpression="ID" />
            <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
            <asp:BoundField DataField="Class" HeaderText="Class" SortExpression="Class" />
            <asp:BoundField DataField="Section" HeaderText="Section" 
                SortExpression="Section" />
            <asp:BoundField DataField="Address" HeaderText="Address" 
                SortExpression="Address" />
            <asp:TemplateField HeaderText="Edit">
               <ItemTemplate>
                 <asp:Button runat="server" ID="btnedit" Text="Edit" CommandName="EditRow"></asp:Button>                    
               </ItemTemplate>
          </asp:TemplateField>
          <asp:TemplateField HeaderText="Delete">
          <ItemTemplate>
                 <asp:Button runat="server" ID="btndelete" Text="Delete" CommandArgument='<%# Container.DataItemIndex %>' CommandName="Deleterow"></asp:Button>                    
               </ItemTemplate>
          </asp:TemplateField>            
        </Columns>
    </asp:GridView>

这是背后的代码:

protected void btnsub_Click(object sender, EventArgs e)
        {
            SqlConnection con = Connection.DBconnection();
            if (Textid.Text.Trim().Length > 0)
            {

                SqlCommand com = new SqlCommand("StoredProcedure3", con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.AddWithValue("@id", Textid.Text.Trim());
                com.Parameters.AddWithValue("@Name", Textusername.Text.Trim());
                com.Parameters.AddWithValue("@Class", Textclass.Text.Trim());
                com.Parameters.AddWithValue("@Section", Textsection.Text.Trim());
                com.Parameters.AddWithValue("@address", Textaddress.Text.Trim());
                com.ExecuteNonQuery();
                GridViewRow gr = GridView1.SelectedRow;
                gr.Cells[1].Text = Textusername.Text;
                gr.Cells[2].Text = Textclass.Text;
                gr.Cells[3].Text = Textsection.Text;
                gr.Cells[4].Text = Textaddress.Text;

            }
            else
            {
                SqlCommand com = new SqlCommand("StoredProcedure1", con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.AddWithValue("@Name", Textusername.Text.Trim());
                com.Parameters.AddWithValue("@Class", Textclass.Text.Trim());
                com.Parameters.AddWithValue("@Section", Textsection.Text.Trim());
                com.Parameters.AddWithValue("@address", Textaddress.Text.Trim());
                com.ExecuteNonQuery();
                Response.Redirect("studententry.aspx");
            }
        }

所选行未在gridview中选择。我可以知道如何启用gridview行。我使用了msdn和其他文档,但没有帮助。

我设计我设置了启用选择,但仍然没有发现问题。

谁能帮我?

谢谢,

罗杰林·萨霍

基本上,我们会在GridViewRow Action事件(如OnSelectedIndexChangedOnSelectedIndexChangingOnRowEditing或模板控件(如Buttonclick)上获得GridView的SelectedRow 但是在您的编码中,我认为您不在btnsub_ClickGridview中,因此,如果您想在GridviewRow Action事件之后使用SelectedGridViewRow,则将索引保存在某个临时变量中,或将变量作为参数传递给方法。

protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
  {
    int index = Gridview1.SelectedIndex;
    hiddenfield.Value = index.ToString();
  }

或者,在OnRowEditing中,您还可以获取行的索引

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "EditRow")
            {
                GridViewRow gr = (GridViewRow)((Button)e.CommandSource).NamingContainer;
                int index = gr.RowIndex;
                hidval.Value = index.ToString();
            }
        }

并在按钮上单击,您可以获取hiddenfield值作为索引:

protected void btnsub_Click(object sender, EventArgs e)
        {
            SqlConnection con = Connection.DBconnection();
            if (Textid.Text.Trim().Length > 0)
            {
                SqlCommand com = new SqlCommand("StoredProcedure3", con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.AddWithValue("@id", Textid.Text.Trim());
                com.Parameters.AddWithValue("@Name", Textusername.Text.Trim());
                com.Parameters.AddWithValue("@Class", Textclass.Text.Trim());
                com.Parameters.AddWithValue("@Section", Textsection.Text.Trim());
                com.Parameters.AddWithValue("@address", Textaddress.Text.Trim());
                com.ExecuteNonQuery();
                if(!String.IsNullOrEmpty(hiddenfield.Value))
                {
                int index = Convert.ToInt16(hiddenfield.Value);
                GridView1.Rows[index].Cells[1].Text = Textusername.Text;
                GridView1.Rows[index].Cells[2].Text = Textclass.Text;
                GridView1.Rows[index].Cells[3].Text = Textsection.Text;
                GridView1.Rows[index].Cells[4].Text = Textaddress.Text;
                }

            }
            else
            {
                SqlCommand com = new SqlCommand("StoredProcedure1", con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.AddWithValue("@Name", Textusername.Text.Trim());
                com.Parameters.AddWithValue("@Class", Textclass.Text.Trim());
                com.Parameters.AddWithValue("@Section", Textsection.Text.Trim());
                com.Parameters.AddWithValue("@address", Textaddress.Text.Trim());
                com.ExecuteNonQuery();
                Response.Redirect("studententry.aspx");
            }
        } 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在ASP.net Core WebAPI中启用CORS

如何在ASP.NET Core中启用CORS

如何在Javascript或JQuery的Gridview中获取选定的行

如何在ASP.NET Core中启用ClientCache

如何在ASP.Net C#中实现FCM?

如何在ASP.Net MVC(C#)中调用和执行存储过程

如何在C#和ASP.NET MVC中读取/写入Cookie

如何在ASP.NET C#的Gridview中获取和显示特定值

如何在asp.net中的行命令中获取选定行的索引

Gridview仅显示MySQL数据库中的1行-ASP.net C#

asp net c#使用复选框获取gridview中特定行的值

如何在asp.net中清除GridView?

如何在javascript asp.net c#中检查日期和时间?

如何在ASP.NET C#中打印div

如何使用GridView asp.net中的复选框获取选定的行值?

如何在ASP.NET C#应用程序中向GridView添加行

如何在ASP.NET C#中获取会话的开始和结束时间

如何在ASP.NET C#中从SQL Server到GridView中选择数据

如何在“ <asp:GridView>”中添加特殊行?

如何在asp.net的GridView中启用和禁用按钮

如何将值存储在gridview asp.net C#中的超链接所选择的行中?

如何在ASP.Net C#中的GridView的EditMode中显示DropdownList?

ASP.NET C#如何在GridView中更改数据并写入XML

如何在SQL中从Gridview在ASP,C#中从一行移动到另一行中更新SQL中的数据

GridView中的DropDownList绑定到ASP.NET C#中GridView内TextBox中DropDown的选定值

如何在ASP.NET C#和Android中实现UIDAI Aadhar API?

如何在 Asp.Net 中制作 GridView 多列

如何在 ASP.NET 中的 GridView 中计算总价

如何在DataList c# asp中动态删除行

TOP 榜单

热门标签

归档