gridview控件 [英] gridview controls
问题描述
在我的网格视图中,我有一个模板字段,标题文本为"Action"
在该模板字段中,我有一个项目模板,其链接按钮的ID为lnkassign.
我已经为该linkbutton设置了一些图片.
我想要它,以便当我单击该链接按钮时,应该设置另一个图像.
我该怎么办?
该代码将出现在gridview1_rowdatabound
或
gridview_rowcommand
In my gridview I have one template field with Header text="Action"
In that template field I have an item template as a linkbutton with id lnkassign.
I have set some image to that linkbutton.
I want it so that when I click on that linkbutton another image should be set.
How do I do this?
The code will come in gridview1_rowdatabound
or
gridview_rowcommand
推荐答案
hi,
这将在"gridview_rowcommand"事件下进行
请按照以下步骤操作:
步骤1:
This will come under "gridview_rowcommand" Event
please follow bellow steps:
step 1:
<asp:GridView ID="grd" runat="server" AutoGenerateColumns="false"
onrowcommand="grd_RowCommand">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lbl" Text='<%#Eval("ID") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:LinkButton ID="lnk" CommandArgument='<%#Eval("ID") %>' CommandName="vsr" Text="<img src='images/img1.jpg' border='0' />" runat="server">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
步骤2:
受保护的void Page_Load(对象发送者,EventArgs e)
{
如果(!IsPostBack)
{
DataTable myDataTable = new DataTable();
DataColumn myDataColumn;
myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName ="ID"; //这是更新索引
myDataTable.Columns.Add(myDataColumn);
//
DataRow行;
for(int i = 0; i< 10; i ++)
{
行= myDataTable.NewRow();
row ["ID"] = i;
myDataTable.Rows.Add(row);
}
grd.DataSource = myDataTable.DefaultView;
grd.DataBind();
}
}
受保护的void grd_RowCommand(object sender,GridViewCommandEventArgs e)
{
如果(e.CommandName =="vsr")
{
int i = Convert.ToInt32(e.CommandArgument);
GridView gr =(GridView)发送器;
LinkButton lnk =(LinkButton)(gr.Rows [i] .FindControl("lnk")));
lnk.Text =< img src =" images/img2.jpg"border =" 0"/>" ;;
}
}
步骤3:
在您的项目中添加图片文件夹,在该文件夹中添加添加2张图片
这些图像名称img1.jpg和img2.jpg
Step 2:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable myDataTable = new DataTable();
DataColumn myDataColumn;
myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "ID"; //this is index for update
myDataTable.Columns.Add(myDataColumn);
//
DataRow row;
for(int i=0;i<10;i++)
{
row = myDataTable.NewRow();
row["ID"] = i;
myDataTable.Rows.Add(row);
}
grd.DataSource = myDataTable.DefaultView;
grd.DataBind();
}
}
protected void grd_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "vsr")
{
int i=Convert.ToInt32(e.CommandArgument);
GridView gr = (GridView)sender;
LinkButton lnk = (LinkButton)(gr.Rows[i].FindControl("lnk"));
lnk.Text = "<img src=''images/img2.jpg'' border=''0'' />";
}
}
Step 3:
add image folder in your project, add add 2 images in that folder
those image names img1.jpg and img2.jpg
这篇关于gridview控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!