文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Datatable 虚拟表操作

Datatable 虚拟表操作

时间:2011-05-21  来源:MzXy

Datagird表格

<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" BorderColor="#ADAAAD"
       ShowFooter="True" Width="255px" oncancelcommand="DataGrid1_CancelCommand" 
            ondeletecommand="DataGrid1_DeleteCommand" oneditcommand="DataGrid1_EditCommand" 
            onupdatecommand="DataGrid1_UpdateCommand">
<AlternatingItemStyle BackColor="#EFEFEF"></AlternatingItemStyle>
<ItemStyle BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#00659C"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="recordid" HeaderText="单据编号">
<HeaderStyle Wrap="False"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="depotcode" HeaderText="仓库编码">
<HeaderStyle Wrap="False" ForeColor="White"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="batchno" HeaderText="样品批号">
<HeaderStyle Wrap="False" ForeColor="White"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="SampleID" HeaderText="样品编码">
<HeaderStyle Wrap="False" ForeColor="White"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="remain" HeaderText="数量">
<HeaderStyle Wrap="False" ForeColor="White"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:EditCommandColumn>
 <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>
后台执行语句 

protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {           
            ViewState["dt"] = GetDataTable();
        }
    }

/// <summary>
        /// 创建临时表
        /// </summary>
        /// <returns></returns>
        public DataTable GetDataTable()
        {

            //建表 
            DataTable   dt   =   new   DataTable(); 
            dt.Columns.Add(new   DataColumn( "recordid",   typeof(string))); 
            dt.Columns.Add(new   DataColumn( "depotcode",   typeof(string))); 
            dt.Columns.Add(new   DataColumn( "batchno",   typeof(string))); 
           DataColumn SampColumn=  dt.Columns.Add( "SampleID",   typeof(string)); 
            dt.Columns.Add(new   DataColumn( "remain",   typeof(decimal)));
            dt.PrimaryKey = new DataColumn[] { SampColumn }; //设置主键
            
            return dt;
        }

    /// <summary>
    /// 取消
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
        protected void DataGrid1_CancelCommand(object source, DataGridCommandEventArgs e)
        {
            DataGrid1.EditItemIndex = -1;

            DataGrid1.DataSource = (DataTable)ViewState["dt"];
            DataGrid1.DataBind();
        }
    /// <summary>
    /// 删除
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
        protected void DataGrid1_DeleteCommand(object source, DataGridCommandEventArgs e)
        {
            DataTable dt=(DataTable)ViewState["dt"];
          
          
            DataRow dr =  dt.Rows.Find(e.Item.Cells[3].Text); 
            dt.Rows.Remove(dr);
            ViewState["dt"] = dt;
            DataGrid1.DataSource = (DataTable)ViewState["dt"];
            DataGrid1.DataBind();
        }
    /// <summary>
    /// 编辑
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
        protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
        {
            ViewState["Sample"] = e.Item.Cells[3].Text;
            DataGrid1.EditItemIndex = e.Item.ItemIndex;
            DataGrid1.DataSource = (DataTable)ViewState["dt"];
            DataGrid1.DataBind();
        }

    /// <summary>
    /// 更新
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
        protected void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
        {

            DataTable dt = (DataTable)ViewState["dt"];
            DataRow dr = dt.Rows.Find(ViewState["Sample"].ToString()); 
     

            dr[0]  =((TextBox)e.Item.Cells[0].Controls[0]).Text;
            dr[1] = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
            dr[2] = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
            dr[3] = ((TextBox)e.Item.Cells[3].Controls[0]).Text;
            dr[4] = ((TextBox)e.Item.Cells[4].Controls[0]).Text;

            ViewState["dt"] = dt; 
            DataGrid1.EditItemIndex = -1; 
            DataGrid1.DataSource = (DataTable)ViewState["dt"];
            DataGrid1.DataBind();
          

        }

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载