<%@ Page language="c#" Codebehind="xgzcmx.aspx.cs" AutoEventWireup="false" Inherits="addcscs.zczd.xgzcmx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>xgzcmx</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body bgColor="azure" MS_POSITIONING="GridLayout">
<A href="addzcmx.aspx">新增资产名细</A> <A href="Searchzcmx.aspx">查询</A> <A href="xgzcmx.aspx">
修改</A>
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 8px; WIDTH: 944px; POSITION: absolute; TOP: 56px; HEIGHT: 96px"
cellSpacing="1" cellPadding="1" width="944" border="0">
<TR>
<TD>
<P>资产名称
<asp:textbox id="mc" runat="server" Width="224px"></asp:textbox>资产编号
<asp:textbox id="bh" runat="server" Width="168px"></asp:textbox></P>
<P>店&nbsp;&nbsp;&nbsp; 别
<asp:dropdownlist id="db" runat="server" Width="120px" AutoPostBack="True"></asp:dropdownlist>&nbsp;部 

<asp:dropdownlist id="sybm" runat="server" Width="128px"></asp:dropdownlist></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:button id="Button1" runat="server" Text="查 询"></asp:button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:button id="Reset" runat="server" Text="重置"></asp:button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</P>
</TD>
</TR>
</TABLE>
<asp:datagrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 8px; POSITION: absolute; TOP: 176px" runat="server"
Width="1300px" PageSize="9" GridLines="None" ForeColor="Black" AllowPaging="True" AutoGenerateColumns="False"
CellPadding="2" BackColor="LightGoldenrodYellow" BorderWidth="1px" BorderColor="Tan" OnUpdateCommand="DataGrid1_Update"
OnCancelCommand="DataGrid1_Cancel" OnEditCommand="DataGrid1_Edit" DataKeyField="zcbh">
<FooterStyle BackColor="Tan"></FooterStyle>
<SelectedItemStyle ForeColor="GhostWhite" BackColor="DarkSlateBlue"></SelectedItemStyle>
<EditItemStyle Wrap="False"></EditItemStyle>
<AlternatingItemStyle BackColor="PaleGoldenrod"></AlternatingItemStyle>
<ItemStyle Font-Size="X-Small" Wrap="False"></ItemStyle>
<HeaderStyle Font-Bold="True" BackColor="Tan"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
<asp:BoundColumn DataField="id" ReadOnly="True" HeaderText="ID"></asp:BoundColumn>
<asp:BoundColumn DataField="dianb" ReadOnly="True" HeaderText="店别"></asp:BoundColumn>
<asp:BoundColumn DataField="Location" ReadOnly="True" HeaderText="部门"></asp:BoundColumn>
<asp:BoundColumn DataField="zcbh" ReadOnly="True" HeaderText="编号"></asp:BoundColumn>
<asp:BoundColumn DataField="zcmc" HeaderText="名称"></asp:BoundColumn>
<asp:BoundColumn DataField="ggxh" HeaderText="型号"></asp:BoundColumn>
<asp:TemplateColumn HeaderText=" 类别">
<ItemTemplate>
<asp:Label ID="lb" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem, "zclb") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="d" runat="server"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="Instt_day" HeaderText="购入日期"></asp:BoundColumn>
<asp:BoundColumn DataField="syry" HeaderText="使用人员"></asp:BoundColumn>
<asp:BoundColumn DataField="Csmc" HeaderText="厂商"></asp:BoundColumn>
<asp:BoundColumn DataField="cost" HeaderText="单价"></asp:BoundColumn>
<asp:BoundColumn DataField="syqk" HeaderText="使用情况"></asp:BoundColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="修改" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="DarkSlateBlue" BackColor="PaleGoldenrod" Mode="NumericPages"></PagerStyle>
</asp:datagrid></FONT></form>
</body>
</HTML>
CS下:
protected void dataGrid1_ItemCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
string  conStr = ConfigurationSettings.AppSettings["connString"];
string  getzcbh=DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string  strsql="Delete from store WHERE czbh="+getzcbh;
SqlConnection con=new SqlConnection(conStr);
SqlCommand   myCommand=new  SqlCommand(strsql,con);   
myCommand.Connection.Open();   
myCommand.ExecuteNonQuery();   
DataGrid1.EditItemIndex=-1;   
GetSqlData();
} }
为何没反映?请高手指点!谢谢!

解决方案 »

  1.   

    设个断点跟踪下
    string  getzcbh=DataGrid1.DataKeys[e.Item.ItemIndex].ToString(); //值取到了吗?
      

  2.   

    设断点跟踪一下,看是否事件丢失。如果事件不丢失的话,那把SQL语句拿到查询分析器中执行一下看结果。
      

  3.   

    string  getzcbh=DataGrid1.DataKeys[e.Item.ItemIndex].ToString(); 好像没取到!
      

  4.   

    LZ,做事不能混在一起做!虽然我不知道你这样做对不对,但是我想先用变量去获得索引,然后在把索引放在DataKeeys里去找键值,如果说的不好,别K 我,因为我遇到过这样的问题,才这么说!别见怪!
      

  5.   

    confirm()具体该怎么写?我是新手请帮忙看看!
      

  6.   

    protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            TableCell cell = e.Item.Cells[17];
            if (cell.Controls.Count > 0)
            {
                LinkButton btn = cell.Controls[0] as LinkButton;
                btn.Attributes.Add("onclick", "return confirm('您确认要删除吗?')");
            }
        }
      

  7.   

    deleteButton.Attributes["onclick"] = "if(confirm('strConfirm') == false) return false;";
      

  8.   

    UP'
    protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            TableCell cell = e.Item.Cells[17];
            if (cell.Controls.Count > 0)
            {
                LinkButton btn = cell.Controls[0] as LinkButton;
                btn.Attributes.Add("onclick", "return confirm('您确认要删除吗?')");
            }
        }
      

  9.   

    上面服务2位的还是不行!这是我的部分代码:
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    //DropDownList DropDownList_1=(DropDownList)e.Item.FindControl("DropDownList1"); //在这里将数据绑定到Datagrid
    string  conStr = ConfigurationSettings.AppSettings["connString"];
    string strzcbh = e.Item.Cells[4].Text.ToString();
    string orderID = e.Item.Cells[7].Text.ToString();
    SqlConnection cxconn=new SqlConnection( conStr);
    string strsql= "select * from ZCLB ";
    SqlDataAdapter  da = new SqlDataAdapter(strsql,cxconn);
    DataSet ds=new DataSet();
    da.Fill(ds,"table1");
    SqlConnection myConnection = new SqlConnection(conStr);
    myConnection.Open();
    SqlCommand cmdzcbh = new SqlCommand("select * from store where zcbh='" + strzcbh + "'", myConnection);
    SqlDataReader Dr1 = cmdzcbh.ExecuteReader(); if(e.Item.ItemType==ListItemType.EditItem)
    {
    DropDownList ddl=(DropDownList)e.Item.FindControl("d");
    ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByText(orderID));

    ddl.DataSource=ds.Tables["table1"];
    ddl.DataTextField="zcdl";
    ddl.DataValueField="zcdl";
    ddl.DataBind();
    }
    myConnection.Close();

    }
    protected void dataGrid1_ItemCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if (e.CommandName == "Delete")
    {
    // e.Attributes.add("onclick","javascript:if(confirm('确认要删除此数据吗?')){return   true;}else{return   false;}");
    //                this.Response.write("<script>window.confirm('要删除吗?'):</script>"); 
    string  conStr = ConfigurationSettings.AppSettings["connString"];
    string  getzcbh=DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
    string  strsql="Delete from store WHERE zcbh='"+getzcbh+"'";
    SqlConnection con=new SqlConnection(conStr);
    SqlCommand   myCommand=new  SqlCommand(strsql,con);   
    myCommand.Connection.Open();   
    myCommand.ExecuteNonQuery();   
    DataGrid1.EditItemIndex=-1;   
    GetSqlData();
    } }
      

  10.   

    可不可以放在dataGrid1_ItemCommand里面?
      

  11.   

    e.Attributes.add("onclick","javascript:if(confirm('确认要删除此数据吗?')){return   true;}else{return   false;}");不能放在command 中,应该在页面加载完成后,代码就被写在了页面中.所以可以放在:ItemCreated或ItemDataBound