100分,为什么在DataGrid中只能用LinkButton作为按钮时,才能引发Edit\update\delete事件
我初学,为什么把按钮列中的按钮换成Button或ImageButton就不能引发,Edit事件了呢?我已经写CommandName=Edit了??
[解决办法]
肯定不行,如果不可以,请贴你的代码
[解决办法]
估计是事件与对应函数脱钩了,看看DataGrid属性窗口中的事件EditCommand\UpdateCommand\DeketeCommand是否指向了正确的函数.
[解决办法]
据我所知,你还是看看你的command,如果是origin版的,经常会这样,555555555,我不得不自己手工写
[解决办法]
可以用 Button的 设置一下 CommandName 就行了 在EditCommand事件里就能捕捉到
if(e.CommandName == "设置的值 ")
{
//..........
}
[解决办法]
关注
[解决办法]
imagebutton你会用就没问题!
[解决办法]
关注..
[解决办法]
这个没有问题,用什么按钮没有任何关系,给你一段示例代码,是使用imagebutton的。
aspx:
<asp:datagrid id= "dgList " runat= "server " Width= "100% " CssClass= "datagrid " AutoGenerateColumns= "False "
CellPadding= "3 " BorderColor= "#003366 " BackColor= "White " AllowSorting= "True ">
<AlternatingItemStyle BackColor= "#EFF5FB "> </AlternatingItemStyle>
<ItemStyle HorizontalAlign= "Left " BackColor= "White "> </ItemStyle>
<HeaderStyle Font-Bold= "True " HorizontalAlign= "Center " ForeColor= "White " BackColor= "#6699CC "> </HeaderStyle>
<Columns>
<asp:BoundColumn Visible= "False " DataField= "ID " HeaderText= "ID "> </asp:BoundColumn>
<asp:BoundColumn DataField= "InputDate " HeaderText= "日期 ">
<HeaderStyle Width= "70px "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField= "ShiftDesc " HeaderText= "班次 ">
<HeaderStyle Width= "60px "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField= "Auditor " HeaderText= "Auditor ">
<HeaderStyle Width= "60px "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField= "FloorDesc " HeaderText= "楼层 ">
<HeaderStyle Width= "20% "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField= "LineDesc " HeaderText= "拉号 ">
<HeaderStyle Width= "20% "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField= "Series " HeaderText= "系列 ">
<HeaderStyle Width= "25% "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField= "Model " HeaderText= "MODEL ">
<HeaderStyle Width= "35% "> </HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField= "PN80 " HeaderText= "80 P/N ">
<HeaderStyle Width= "90px "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText= "查看 ">
<HeaderStyle Width= "60px "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
<ItemTemplate>
<IMG id= "btnView " style= "CURSOR: hand " alt= " " src= "../../CommonFiles/Images/btnView.gif "
width= "54 " runat= "server ">
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText= "修改 ">
<HeaderStyle HorizontalAlign= "Center " Width= "60px "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
<ItemTemplate>
<asp:ImageButton id= "btnEdit " runat= "server " ImageUrl= "../../CommonFiles/Images/btnEdit.gif " CommandName= "Update "> </asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText= "删除 ">
<HeaderStyle HorizontalAlign= "Center " Width= "60px "> </HeaderStyle>
<ItemStyle HorizontalAlign= "Center "> </ItemStyle>
<ItemTemplate>
<asp:ImageButton id= "btnDelete " runat= "server " ImageUrl= "../../CommonFiles/Images/btnDelete.gif "
CommandName= "Delete "> </asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Visible= "False "> </PagerStyle>
</asp:datagrid>
cs:
private void dgList_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (e.CommandName == "Update ") //修改事件
{
//设置页面的状态为“修改状态”
ViewState[ "State "] = "EDIT ";
//记录ID
int iID = Int32.Parse(e.Item.Cells[0].Text);
ViewState[ "ID "] = iID;
SMD_GluewaterClingLogic logSMD_GluewaterCling = new SMD_GluewaterClingLogic();
DataGroup dgGluewaterCling = logSMD_GluewaterCling.Select(iID);
if ((dgGluewaterCling == null) || (dgGluewaterCling.Table.Rows.Count == 0))
{
CommonFiles.CommonFunc.ShowMessage(this, " ", "获取数据失败,请稍后再试! ");
this.btnCancel_Click(null, null);
}
else
{
//日期
this.txtDate.Text = dgGluewaterCling.Table.Rows[0][ "InputDate "].ToString();
//班次
this.ddlShift.SelectedIndex
= this.ddlShift.Items.IndexOf(this.ddlShift.Items.FindByValue(dgGluewaterCling.Table.Rows[0][ "Shift "].ToString()));
//Auditor
this.txtAuditorNo.Text = dgGluewaterCling.Table.Rows[0][ "AuditorNo "].ToString();
this.txtAuditor.Text = dgGluewaterCling.Table.Rows[0][ "Auditor "].ToString();
//楼层、拉号
if (this.ddlFloor.Items.Count > 0)
{
this.ddlFloor.SelectedIndex
= this.ddlFloor.Items.IndexOf(this.ddlFloor.Items.FindByValue(dgGluewaterCling.Table.Rows[0][ "FloorID "].ToString()));
this.BindLine(Int32.Parse(this.ddlFloor.SelectedValue));
this.ddlLine.SelectedIndex
= this.ddlLine.Items.IndexOf(this.ddlLine.Items.FindByValue(dgGluewaterCling.Table.Rows[0][ "LineID "].ToString()));
}
//80, 50
this.txtPN80.Text = dgGluewaterCling.Table.Rows[0][ "PN80 "].ToString();
this.txtPN50.Text = dgGluewaterCling.Table.Rows[0][ "PN50 "].ToString();
this.txtSeries.Text = dgGluewaterCling.Table.Rows[0][ "Series "].ToString();
this.txtModel.Text = dgGluewaterCling.Table.Rows[0][ "Model "].ToString();
//测试时间
this.txtTestTime.Text = dgGluewaterCling.Table.Rows[0][ "TestTime "].ToString();
//测试物料参数
this.BindTestMaterial(iID);
//备注
this.txtRemark.Text = dgGluewaterCling.Table.Rows[0][ "Remark "].ToString();
}
}
else if (e.CommandName == "Delete ") //删除事件
{
//得到需要删除的ID
int intID = Int32.Parse(e.Item.Cells[0].Text.Trim());
bool blnReturn = new SMD_GluewaterClingLogic().Delete(intID);
if (blnReturn) //删除成功
{
CommonFiles.CommonFunc.ShowMessage(this, " ", "删除胶水附着力检测报表成功! ");
//重置页面
this.btnCancel_Click(null, null);
//刷新数据
this.PageClick(null, null);
}
else
{
CommonFiles.CommonFunc.ShowMessage(this, " ", "删除胶水附着力检测报表失败,请重试! ");
}
}
}
[解决办法]
兄弟 不能对问题妥协 ^_^