一、aspx的部分代碼;
<asp:datagrid id="MyDataGrid" runat="server" Width="100%" Font-Names="Verdana" BorderColor="Black"
BorderWidth="1px" CellPadding="3" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee" HorizontalAlign="Center" AutoGenerateColumns="False">
<AlternatingItemStyle BackColor="#F7FBFF"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" BackColor="#99CCFF"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="TempSemester" HeaderText="學期">
<HeaderStyle Width="25%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="ExamDate" HeaderText="考試時間">
<HeaderStyle Width="25%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="examname" HeaderText="考次">
<HeaderStyle Width="35%"></HeaderStyle>
</asp:BoundColumn>
<ASP:BoundColumn HEADERTEXT="操作">
<ITEMSTYLE HORIZONTALALIGN="Center" WIDTH="15%"></ITEMSTYLE>
</ASP:BoundColumn>
<ASP:HYPERLINKCOLUMN VISIBLE="False" TEXT="<img src="../../images/modi.gif" border="0" alt="修改">"
DATANAVIGATEURLFIELD="ExamNameID" DATANAVIGATEURLFORMATSTRING="javascript:newwin('ModiExamset.aspx?ExamNameID={0}')"
HEADERTEXT="編輯"></ASP:HYPERLINKCOLUMN>
<ASP:BUTTONCOLUMN VISIBLE="False" TEXT="<img src="../../images/del.gif" border="0" alt="刪除" onClick="return confirm('確實要刪除此通訊錄資訊嗎?');">"
HEADERTEXT="刪除" COMMANDNAME="Delete"></ASP:BUTTONCOLUMN>
<ASP:BoundColumn Visible="False" DataField="ExamNameID">
<ITEMSTYLE HORIZONTALALIGN="Center"></ITEMSTYLE>
</ASP:BoundColumn>
<ASP:BoundColumn Visible="False" DataField="ExamType">
<ITEMSTYLE HORIZONTALALIGN="Center"></ITEMSTYLE>
</ASP:BoundColumn>
</Columns>
</asp:datagrid>
二、調用的事件;
this.MyDataGrid.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.MyDataGrid_DeleteCommand);
this.MyDataGrid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.MyDataGrid_ItemDataBound);
三、控制儲存格內的多個按鈕
private void MyDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemIndex>=0){
if(e.Item.Cells[7].Text.Trim()=="C"){
TableCell optd=(TableCell)e.Item.Controls[3];
//彈出式編輯
TableCell opEdit=(TableCell)e.Item.Controls[4];
optd.Controls.Add(opEdit.Controls[0]);
//刪除按鈕
TableCell opDel=(TableCell)e.Item.Controls[5];
optd.Controls.Add(opDel.Controls[0]);
}
}
}
四、當點擊刪除是執行;
private void MyDataGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string ExamNameID=e.Item.Cells[6].Text.Trim();
string strSQL="delete ExamSubject where examnameid=" + ExamNameID;
strSQL+=";";
strSQL+="delete examname where examnameid=" + ExamNameID;
if(db.InsertMoreDB(strSQL))
{
Response.Write(js.InforError("考次刪除成功!"));
}
else{
Response.Write(js.InforErrorBack("老師您好!由於該考 次的成績已錄入不能刪除,如確需刪除該考次,請先刪除該考次的成績。謝謝!"));
}
ExamInit();
}