Solved

How to change deleteText of command field in Grid view?

Posted on 2008-10-21
4
967 Views
Last Modified: 2012-05-05
hi all,
i have a delete command field in my grid view, when bind the data source, i try to change the delete text according to another bound field.

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="personID" OnRowDataBound="GridView1_RowDataBound" OnSorting="GridView1_Sorting" OnRowDeleting="GridView1_RowDeleting">
        <Columns>
            <asp:BoundField DataField="personID" HeaderText="personID" ReadOnly="True" SortExpression="personID" />
<asp:BoundField DataField="flag" HeaderText="flag" SortExpression="flag" />
<asp:CommandField DeleteText="Exclude" ShowDeleteButton="True" ButtonType="button"></asp:CommandField>//when boundfield "flag" is true, the deleteText of commandfield should be 'Exclude', otherwise, it is 'Include'
 </Columns>
    </asp:GridView>
 
-------------------------------------
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
 DataRowView drv = (DataRowView)e.Row.DataItem;
 
//how to get the command field in this event??? the following code won't work cos i cannot get the command field, pls help!!!!
 
Commandfield btn = (Commandfield)e.Row.cell[2].control(0);
 
if(drv["flag"].ToString() == "1")
{
    btn.DeleteText = "Exclude";
}
else
{
   btn.DeleteText = "Include";
 
}
                        
    }

Open in new window

0
Comment
Question by:viola123
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 13

Expert Comment

by:crazyman
ID: 22765956
Button btn = e.Row.Cells[2].Controls[0] as Button; //May be index 1,2,3,4,5,6,7 who knows...
if(drv["flag"].ToString() == "1")
{
    btn.Text = "Exclude";
}
else
{
   btn.Text = "Include";
 
}
0
 
LVL 6

Author Comment

by:viola123
ID: 22766045
hi,
i tried to cast the command field to button, but it gives me exception said the datacontrol field cannot be cast to button.
0
 
LVL 13

Accepted Solution

by:
crazyman earned 500 total points
ID: 22766513
This worked for me
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DataRowView drv = (DataRowView)e.Row.DataItem;
 
                Button btn = (Button)e.Row.Cells[2].Controls[0];
 
                if (drv["flag"].ToString() == "1")
                {
                    btn.Text = "Exclude";
                }
                else
                {
                    btn.Text = "Include";
 
                }
            }
 
        }

Open in new window

0
 
LVL 6

Author Comment

by:viola123
ID: 22772024
hi,
i tried it again, it works. don't know what's going on last time.

thanks a lot
0

Featured Post

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question