在数据网格动态ASP.NET中向特定单元格添加按钮? [英] Add a button to a particular cell in a datagrid dynamically ASP.NET?

查看:95
本文介绍了在数据网格动态ASP.NET中向特定单元格添加按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据网格有3列userid,city和description.Uisng sql连接获取数据并显示输出,令人担忧。但我必须为特定单元格添加编辑和删除按钮。你能帮我怎样要做到这一点???



我的sql数据库表是这样的: -



ColumnName DataType

UserId Int(设置标识属性= true)

用户名varchar(50)

城市varchar(50)

指定varchar(50)



我尝试过:



我的.cs代码是: -



I have a datagrid having 3 columns userid,city and description.Uisng sql connection get the data and display the output,woriking fine.but i have to add edit and delete button for a particular cell .can you please help me how to do it???

and my sql database table is like this:-

ColumnName DataType
UserId Int(set identity property=true)
UserName varchar(50)
City varchar(50)
Designation varchar(50)

What I have tried:

my .cs code is:-

SqlConnection con = new SqlConnection("Data Source=MITSCPU108;Initial Catalog=sss;User ID=sa;Password=mits123$");
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         BindEmployeeDetails();
     }
 }
 protected void BindEmployeeDetails()
 {
     con.Open();
     SqlCommand cmd = new SqlCommand("Select * from Employee_Details", con);
     SqlDataAdapter da = new SqlDataAdapter(cmd);
     DataSet ds = new DataSet();
     da.Fill(ds);
     con.Close();
     if (ds.Tables[0].Rows.Count > 0)
     {
         gvDetails.DataSource = ds;
         gvDetails.DataBind();
     }
     else
     {
         ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
         gvDetails.DataSource = ds;
         gvDetails.DataBind();
         int columncount = gvDetails.Rows[0].Cells.Count;
         gvDetails.Rows[0].Cells.Clear();
         gvDetails.Rows[0].Cells.Add(new TableCell());
         gvDetails.Rows[0].Cells[0].ColumnSpan = columncount;
         gvDetails.Rows[0].Cells[0].Text = "No Records Found";
     }
 }
 protected void gvDetails_RowEditing(object sender, GridViewEditEventArgs e)
 {
     gvDetails.EditIndex = e.NewEditIndex;
     BindEmployeeDetails();
 }
 protected void gvDetails_RowUpdating(object sender, GridViewUpdateEventArgs e)
 {
     int userid = Convert.ToInt32(gvDetails.DataKeys[e.RowIndex].Value.ToString());
     string username = gvDetails.DataKeys[e.RowIndex].Values["UserName"].ToString();
     TextBox txtcity = (TextBox)gvDetails.Rows[e.RowIndex].FindControl("txtcity");
     TextBox txtDesignation = (TextBox)gvDetails.Rows[e.RowIndex].FindControl("txtDesg");
     con.Open();
     SqlCommand cmd = new SqlCommand("update Employee_Details set City='" + txtcity.Text + "',Designation='" + txtDesignation.Text + "' where UserId=" + userid, con);
     cmd.ExecuteNonQuery();
     con.Close();
     lblresult.ForeColor = Color.Green;
     lblresult.Text = username + " Details Updated successfully";
     gvDetails.EditIndex = -1;
     BindEmployeeDetails();
 }
 protected void gvDetails_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
 {
     gvDetails.EditIndex = -1;
     BindEmployeeDetails();
 }
 protected void gvDetails_RowDeleting(object sender, GridViewDeleteEventArgs e)
 {
     int userid = Convert.ToInt32(gvDetails.DataKeys[e.RowIndex].Values["UserId"].ToString());
     string username = gvDetails.DataKeys[e.RowIndex].Values["UserName"].ToString();
     con.Open();
     SqlCommand cmd = new SqlCommand("delete from Employee_Details where UserId=" + userid, con);
     int result = cmd.ExecuteNonQuery();
     con.Close();
     if (result == 1)
     {
         BindEmployeeDetails();
         lblresult.ForeColor = Color.Red;
         lblresult.Text = username + " details deleted successfully";
     }
 }
 protected void gvDetails_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName.Equals("AddNew"))
     {
         TextBox txtUsrname = (TextBox)gvDetails.FooterRow.FindControl("txtftrusrname");
         TextBox txtCity = (TextBox)gvDetails.FooterRow.FindControl("txtftrcity");
         TextBox txtDesgnation = (TextBox)gvDetails.FooterRow.FindControl("txtftrDesignation");
         con.Open();
         SqlCommand cmd =
         new SqlCommand(
         "insert into Employee_Details(UserName,City,Designation) values('" + txtUsrname.Text + "','" +
         txtCity.Text + "','" + txtDesgnation.Text + "')", con);
         int result = cmd.ExecuteNonQuery();
         con.Close();
         if (result == 1)
         {
             BindEmployeeDetails();
             lblresult.ForeColor = Color.Green;
             lblresult.Text = txtUsrname.Text + " Details inserted successfully";
         }
         else
         {
             lblresult.ForeColor = Color.Red;
             lblresult.Text = txtUsrname.Text + " Details not inserted";
         }
     }
 }





我的aspx代码是: -





my aspx code is:-

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<style type="text/css">
.Gridview
{
font-family:Verdana;
font-size:10pt;
font-weight:normal;
color:black;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvDetails" DataKeyNames="UserId,UserName" runat="server"

AutoGenerateColumns="false" CssClass="Gridview" HeaderStyle-BackColor="#61A6F8"

ShowFooter="true" HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="White"

onrowcancelingedit="gvDetails_RowCancelingEdit"

onrowdeleting="gvDetails_RowDeleting" onrowediting="gvDetails_RowEditing"

onrowupdating="gvDetails_RowUpdating"

onrowcommand="gvDetails_RowCommand">
<Columns>
    <asp:TemplateField>
        <EditItemTemplate>
            <asp:ImageButton ID="imgbtnUpdate" CommandName="Update" runat="server" value="update" ImageUrl="~/Images/update.jpg" ToolTip="Update" Height="20px" Width="20px" />
            <asp:ImageButton ID="imgbtnCancel" runat="server" CommandName="Cancel" value="Cancel"  ImageUrl="~/Images/Cancel.jpg" ToolTip="Cancel" Height="20px" Width="20px" />
        </EditItemTemplate>
        <ItemTemplate>
            <asp:ImageButton ID="imgbtnEdit" CommandName="Edit" runat="server" ImageUrl="~/Images/Edit.jpg" ToolTip="Edit" Height="20px" Width="20px" />
            <asp:ImageButton ID="imgbtnDelete" CommandName="Delete" Text="Edit" runat="server" ImageUrl="~/Images/delete.jpg" ToolTip="Delete" Height="20px" Width="20px" />
        </ItemTemplate>
        <FooterTemplate>
            <asp:ImageButton ID="imgbtnAdd" runat="server" ImageUrl="~/Images/AddNewitem.jpg" CommandName="AddNew" Width="30px" Height="30px" ToolTip="Add new User" ValidationGroup="validaiton" />
        </FooterTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="UserName">
        <EditItemTemplate>
           <asp:Label ID="lbleditusr" runat="server" Text='<%#Eval("Username") %>'/>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:Label ID="lblitemUsr" runat="server" Text='<%#Eval("UserName") %>'/>
        </ItemTemplate>
        <FooterTemplate>
            <asp:TextBox ID="txtftrusrname" runat="server"/>
            <asp:RequiredFieldValidator ID="rfvusername" runat="server" ControlToValidate="txtftrusrname" Text="*" ValidationGroup="validaiton"/>
        </FooterTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="City">
        <EditItemTemplate>
           <asp:TextBox ID="txtcity" runat="server" Text='<%#Eval("City") %>'/>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:Label ID="lblcity" runat="server" Text='<%#Eval("City") %>'/>
        </ItemTemplate>
        <FooterTemplate>
            <asp:TextBox ID="txtftrcity" runat="server"/>
            <asp:RequiredFieldValidator ID="rfvcity" runat="server" ControlToValidate="txtftrcity" Text="*" ValidationGroup="validaiton"/>
        </FooterTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Designation">
        <EditItemTemplate>
          <asp:TextBox ID="txtDesg" runat="server" Text='<%#Eval("Designation") %>'/>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:Label ID="lblDesg" runat="server" Text='<%#Eval("Designation") %>'/>
        </ItemTemplate>
        <FooterTemplate>
           <asp:TextBox ID="txtftrDesignation" runat="server"/>
           <asp:RequiredFieldValidator ID="rfvdesignation" runat="server" ControlToValidate="txtftrDesignation" Text="*" ValidationGroup="validaiton"/>
        </FooterTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div>
 <asp:Label ID="lblresult" runat="server"></asp:Label>
</div>
</form>
</body>
</html>

推荐答案

\");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindEmployeeDetails();
}
}
protected void BindEmployeeDetails()
{
con.Open();
SqlCommand cmd = new SqlCommand(\"Select * from Employee_Details\", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
if (ds.Tables[0].Rows.Count > 0)
{
gvDetails.DataSource = ds;
gvDetails.DataBind();
}
else
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
gvDetails.DataSource = ds;
gvDetails.DataBind();
int columncount = gvDetails.Rows[0].Cells.Count;
gvDetails.Rows[0].Cells.Clear();
gvDetails.Rows[0].Cells.Add(new TableCell());
gvDetails.Rows[0].Cells[0].ColumnSpan = columncount;
gvDetails.Rows[0].Cells[0].Text = \"No Records Found\";
}
}
protected void gvDetails_RowEditing(object sender, GridViewEditEventArgs e)
{
gvDetails.EditIndex = e.NewEditIndex;
BindEmployeeDetails();
}
protected void gvDetails_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int userid = Convert.ToInt32(gvDetails.DataKeys[e.RowIndex].Value.ToString());
string username = gvDetails.DataKeys[e.RowIndex].Values[\"UserName\"].ToString();
TextBox txtcity = (TextBox)gvDetails.Rows[e.RowIndex].FindControl(\"txtcity\");
TextBox txtDesignation = (TextBox)gvDetails.Rows[e.RowIndex].FindControl(\"txtDesg\");
con.Open();
SqlCommand cmd = new SqlCommand(\"update Employee_Details set City='\" + txtcity.Text + \"',Designation='\" + txtDesignation.Text + \"' where UserId=\" + userid, con);
cmd.ExecuteNonQuery();
con.Close();
lblresult.ForeColor = Color.Green;
lblresult.Text = username + \" Details Updated successfully\";
gvDetails.EditIndex = -1;
BindEmployeeDetails();
}
protected void gvDetails_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvDetails.EditIndex = -1;
BindEmployeeDetails();
}
protected void gvDetails_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int userid = Convert.ToInt32(gvDetails.DataKeys[e.RowIndex].Values[\"UserId\"].ToString());
string username = gvDetails.DataKeys[e.RowIndex].Values[\"UserName\"].ToString();
con.Open();
SqlCommand cmd = new SqlCommand(\"delete from Employee_Details where UserId=\" + userid, con);
int result = cmd.ExecuteNonQuery();
con.Close();
if (result == 1)
{
BindEmployeeDetails();
lblresult.ForeColor = Color.Red;
lblresult.Text = username + \" details deleted successfully\";
}
}
protected void gvDetails_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals(\"AddNew\"))
{
TextBox txtUsrname = (TextBox)gvDetails.FooterRow.FindControl(\"txtftrusrname\");
TextBox txtCity = (TextBox)gvDetails.FooterRow.FindControl(\"txtftrcity\");
TextBox txtDesgnation = (TextBox)gvDetails.FooterRow.FindControl(\"txtftrDesignation\");
con.Open();
SqlCommand cmd =
new SqlCommand(
\"insert into Employee_Details(UserName,City,Designation) values('\" + txtUsrname.Text + \"','\" +
txtCity.Text + \"','\" + txtDesgnation.Text + \"')\", con);
int result = cmd.ExecuteNonQuery();
con.Close();
if (result == 1)
{
BindEmployeeDetails();
lblresult.ForeColor = Color.Green;
lblresult.Text = txtUsrname.Text + \" Details inserted successfully\";
}
else
{
lblresult.ForeColor = Color.Red;
lblresult.Text = txtUsrname.Text + \" Details not inserted\";
}
}
}
"); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindEmployeeDetails(); } } protected void BindEmployeeDetails() { con.Open(); SqlCommand cmd = new SqlCommand("Select * from Employee_Details", con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); con.Close(); if (ds.Tables[0].Rows.Count > 0) { gvDetails.DataSource = ds; gvDetails.DataBind(); } else { ds.Tables[0].Rows.Add(ds.Tables[0].NewRow()); gvDetails.DataSource = ds; gvDetails.DataBind(); int columncount = gvDetails.Rows[0].Cells.Count; gvDetails.Rows[0].Cells.Clear(); gvDetails.Rows[0].Cells.Add(new TableCell()); gvDetails.Rows[0].Cells[0].ColumnSpan = columncount; gvDetails.Rows[0].Cells[0].Text = "No Records Found"; } } protected void gvDetails_RowEditing(object sender, GridViewEditEventArgs e) { gvDetails.EditIndex = e.NewEditIndex; BindEmployeeDetails(); } protected void gvDetails_RowUpdating(object sender, GridViewUpdateEventArgs e) { int userid = Convert.ToInt32(gvDetails.DataKeys[e.RowIndex].Value.ToString()); string username = gvDetails.DataKeys[e.RowIndex].Values["UserName"].ToString(); TextBox txtcity = (TextBox)gvDetails.Rows[e.RowIndex].FindControl("txtcity"); TextBox txtDesignation = (TextBox)gvDetails.Rows[e.RowIndex].FindControl("txtDesg"); con.Open(); SqlCommand cmd = new SqlCommand("update Employee_Details set City='" + txtcity.Text + "',Designation='" + txtDesignation.Text + "' where UserId=" + userid, con); cmd.ExecuteNonQuery(); con.Close(); lblresult.ForeColor = Color.Green; lblresult.Text = username + " Details Updated successfully"; gvDetails.EditIndex = -1; BindEmployeeDetails(); } protected void gvDetails_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { gvDetails.EditIndex = -1; BindEmployeeDetails(); } protected void gvDetails_RowDeleting(object sender, GridViewDeleteEventArgs e) { int userid = Convert.ToInt32(gvDetails.DataKeys[e.RowIndex].Values["UserId"].ToString()); string username = gvDetails.DataKeys[e.RowIndex].Values["UserName"].ToString(); con.Open(); SqlCommand cmd = new SqlCommand("delete from Employee_Details where UserId=" + userid, con); int result = cmd.ExecuteNonQuery(); con.Close(); if (result == 1) { BindEmployeeDetails(); lblresult.ForeColor = Color.Red; lblresult.Text = username + " details deleted successfully"; } } protected void gvDetails_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName.Equals("AddNew")) { TextBox txtUsrname = (TextBox)gvDetails.FooterRow.FindControl("txtftrusrname"); TextBox txtCity = (TextBox)gvDetails.FooterRow.FindControl("txtftrcity"); TextBox txtDesgnation = (TextBox)gvDetails.FooterRow.FindControl("txtftrDesignation"); con.Open(); SqlCommand cmd = new SqlCommand( "insert into Employee_Details(UserName,City,Designation) values('" + txtUsrname.Text + "','" + txtCity.Text + "','" + txtDesgnation.Text + "')", con); int result = cmd.ExecuteNonQuery(); con.Close(); if (result == 1) { BindEmployeeDetails(); lblresult.ForeColor = Color.Green; lblresult.Text = txtUsrname.Text + " Details inserted successfully"; } else { lblresult.ForeColor = Color.Red; lblresult.Text = txtUsrname.Text + " Details not inserted"; } } }





my aspx code is:-





my aspx code is:-

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<style type="text/css">
.Gridview
{
font-family:Verdana;
font-size:10pt;
font-weight:normal;
color:black;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvDetails" DataKeyNames="UserId,UserName" runat="server"

AutoGenerateColumns="false" CssClass="Gridview" HeaderStyle-BackColor="#61A6F8"

ShowFooter="true" HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="White"

onrowcancelingedit="gvDetails_RowCancelingEdit"

onrowdeleting="gvDetails_RowDeleting" onrowediting="gvDetails_RowEditing"

onrowupdating="gvDetails_RowUpdating"

onrowcommand="gvDetails_RowCommand">
<Columns>
    <asp:TemplateField>
        <EditItemTemplate>
            <asp:ImageButton ID="imgbtnUpdate" CommandName="Update" runat="server" value="update" ImageUrl="~/Images/update.jpg" ToolTip="Update" Height="20px" Width="20px" />
            <asp:ImageButton ID="imgbtnCancel" runat="server" CommandName="Cancel" value="Cancel"  ImageUrl="~/Images/Cancel.jpg" ToolTip="Cancel" Height="20px" Width="20px" />
        </EditItemTemplate>
        <ItemTemplate>
            <asp:ImageButton ID="imgbtnEdit" CommandName="Edit" runat="server" ImageUrl="~/Images/Edit.jpg" ToolTip="Edit" Height="20px" Width="20px" />
            <asp:ImageButton ID="imgbtnDelete" CommandName="Delete" Text="Edit" runat="server" ImageUrl="~/Images/delete.jpg" ToolTip="Delete" Height="20px" Width="20px" />
        </ItemTemplate>
        <FooterTemplate>
            <asp:ImageButton ID="imgbtnAdd" runat="server" ImageUrl="~/Images/AddNewitem.jpg" CommandName="AddNew" Width="30px" Height="30px" ToolTip="Add new User" ValidationGroup="validaiton" />
        </FooterTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="UserName">
        <EditItemTemplate>
           <asp:Label ID="lbleditusr" runat="server" Text='<%#Eval("Username") %>'/>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:Label ID="lblitemUsr" runat="server" Text='<%#Eval("UserName") %>'/>
        </ItemTemplate>
        <FooterTemplate>
            <asp:TextBox ID="txtftrusrname" runat="server"/>
            <asp:RequiredFieldValidator ID="rfvusername" runat="server" ControlToValidate="txtftrusrname" Text="*" ValidationGroup="validaiton"/>
        </FooterTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="City">
        <EditItemTemplate>
           <asp:TextBox ID="txtcity" runat="server" Text='<%#Eval("City") %>'/>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:Label ID="lblcity" runat="server" Text='<%#Eval("City") %>'/>
        </ItemTemplate>
        <FooterTemplate>
            <asp:TextBox ID="txtftrcity" runat="server"/>
            <asp:RequiredFieldValidator ID="rfvcity" runat="server" ControlToValidate="txtftrcity" Text="*" ValidationGroup="validaiton"/>
        </FooterTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Designation">
        <EditItemTemplate>
          <asp:TextBox ID="txtDesg" runat="server" Text='<%#Eval("Designation") %>'/>
        </EditItemTemplate>
        <ItemTemplate>
          <asp:Label ID="lblDesg" runat="server" Text='<%#Eval("Designation") %>'/>
        </ItemTemplate>
        <FooterTemplate>
           <asp:TextBox ID="txtftrDesignation" runat="server"/>
           <asp:RequiredFieldValidator ID="rfvdesignation" runat="server" ControlToValidate="txtftrDesignation" Text="*" ValidationGroup="validaiton"/>
        </FooterTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div>
 <asp:Label ID="lblresult" runat="server"></asp:Label>
</div>
</form>
</body>
</html>


Currently your gridview is





Currently your gridview is


<asp:GridView ID="gvDetails" DataKeyNames="UserId,UserName" runat="server"

AutoGenerateColumns="false" CssClass="Gridview" HeaderStyle-BackColor="#61A6F8"

ShowFooter="true" HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="White"

onrowcancelingedit="gvDetails_RowCancelingEdit"

onrowdeleting="gvDetails_RowDeleting" onrowediting="gvDetails_RowEditing"

onrowupdating="gvDetails_RowUpdating"

onrowcommand="gvDetails_RowCommand">





Now add in end rowdatabound event





Now add in end rowdatabound event

 <asp:GridView ID="gvDetails" DataKeyNames="UserId,UserName" runat="server"

AutoGenerateColumns="false" CssClass="Gridview" HeaderStyle-BackColor="#61A6F8"

ShowFooter="true" HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="White"

onrowcancelingedit="gvDetails_RowCancelingEdit"

onrowdeleting="gvDetails_RowDeleting" onrowediting="gvDetails_RowEditing"

onrowupdating="gvDetails_RowUpdating"

onrowcommand="gvDetails_RowCommand" 

OnRowDataBound="gvDetails_RowDataBound"

>







The n in codebehind add new method for this event as






Then in codebehind add new method for this event as

protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType==DataControlRowType.DataRow)  
        { 
               /// here you can put ur criteria to either delete those buttons which are generating for each row except for .....
        } 
}





this method is calling for each row automatically and it is more powerful then Databound in that u’ve to use foreach



this method is calling for each row automatically and it is more powerful then Databound in that u've to use foreach


First off, don’t hard code your connection string in your code behind file. You should put the config in your web.config file under connectionString element.



Second, make it a habit to put objects that eat resources such as SqlConnection, SqlCommand and SqlDataAdapter within a using Statement[^] to ensure that objects will be properly disposed and closed after they are used.



Third, do not use DataSet when you are only dealing with 1 result set. Instead you could use a DataTable.



Now back to your original question. Since you already have setup the Edit and Delete buttons within your GridView, then you can use the RowDataBound event to hide the buttons based on your requirement. For example:



First off, don't hard code your connection string in your code behind file. You should put the config in your web.config file under connectionString element.

Second, make it a habit to put objects that eat resources such as SqlConnection, SqlCommand and SqlDataAdapter within a using Statement[^] to ensure that objects will be properly disposed and closed after they are used.

Third, do not use DataSet when you are only dealing with 1 result set. Instead you could use a DataTable.

Now back to your original question. Since you already have setup the Edit and Delete buttons within your GridView, then you can use the RowDataBound event to hide the buttons based on your requirement. For example:

protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        ImageButton imgEdit = (ImageButton)e.Row.FindControl("imgbtnEdit");
        ImageButton imgDelete = (ImageButton)e.Row.FindControl("imgbtnDelete");
        if("<your condition="" here="" to="" hide="" your="" buttons="">"){
                      imgEdit.Visible = false;
                      imgDelete.Visible = false;
        }
    }
}


这篇关于在数据网格动态ASP.NET中向特定单元格添加按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆