简体   繁体   English

如何动态地将数据添加到datatable(Gridview)

[英]how to add data into datatable(Gridview) dynamically

I want to how to add data into datatable and change dataformatString of "Date" column 我想如何将数据添加到数据表中并更改“日期”列的dataformatString 在此处输入图片说明

Q1. Q1。 how to change data format to "dd/MM/yyyy" or use your method to show , 如何将数据格式更改为“ dd / MM / yyyy”或使用您的方法显示
Q2. Q2。 I've add codes for add datakeys:["RowID"] in page_load event, but when i click "Edit" button, it prompts "object reference not set to an instance of an object", how can get datakey value/ add commandArguement to "edit"/"delete" Button 我已经在page_load事件中添加了用于添加数据键的代码:[“ RowID”],但是当我单击“编辑”按钮时,它提示“对象引用未设置为对象的实例”,如何获取数据键值/添加commandArguement来“编辑” /“删除”按钮
Q3. Q3。 when i click "Edit" button, how to change into edit mode with update, cancel button etc for editing, 当我单击“编辑”按钮时,如何通过更新,取消按钮等进入编辑模式进行编辑,

I hope someone can help me, thank you very much!!! 我希望有人能帮助我,非常感谢!!!

remark:"Edit & Delete Button are added in .aspx, not dynamically " 备注:“编辑和删除按钮不是动态添加在.aspx中”

.cs 的.cs

protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack) {
        GridView gv = (GridView)Page.FindControl("GridView1");
        gv.DataKeyNames = new string[] { "RowID" };
    }
}

protected void btn_Click(object sender, EventArgs e){
  getDT(date);  //string []date;
}

private DataTable getDT(string[] date){
    DataTable dt = new DataTable();

    dt.Columns.Add("RowID", typeof(Int16));
    dt.Columns.Add("Date", typeof(DateTime));

    for (int i = 0; i < date.Length; i++) {
        dt.Rows.Add(i + 1, date[i]); //date[i] format:yyyy-mm-dd or dd/MM/yyyy
    } 
    return dt;
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) {
    if (e.CommandName == "Delete"){
       hf_id.Value = GridView1.DataKeys[0].Value.ToString();
    }
}

Download source code from given link and study it will help you. 从给定的链接下载源代码并进行研究会对您有所帮助。 Your requirements are easy but basic knowledge is necessary for doing it. 您的要求很简单,但是必须具备基本知识。

http://www.codeproject.com/Articles/23471/Editable-GridView-in-ASP-NET http://www.codeproject.com/Articles/23471/Editable-GridView-in-ASP-NET

this is correct..but i want to be this without using data base..i did everything..now i want if i click the cell so data is updating in a gv but it is not showing datatable..so i want to take a refresh button.. if i click on this so data should be update on a data table.. i am sending the code like this... 这是正确的..但是我想在不使用数据库的情况下成为这个。.我做了一切..现在我想要如果我单击单元格,以便数据在gv中更新,但是它没有显示datatable..so,我想刷新按钮..如果我单击此按钮,则应在数据表上更新数据..我正在发送这样的代码...

design page 设计页面

GridView 网格视图

code--- 码 - -

    protected void Page_Load(object sender, EventArgs e){
        if (!this.IsPostBack) {
            DataTable dt = new DataTable();
            dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id"), new DataColumn("Name"), new DataColumn("City") });

            dt.Rows.Add(1, "Anamika", "Bangalore");
            dt.Rows.Add(2, "Sunny", "Chennai");
            dt.Rows.Add(3, "Monika", "Bangalore");
            dt.Rows.Add(4, "Jyoti", "Chennai");
            dt.Rows.Add(5, "Radhika", "Jabalpur");
            dt.Rows.Add(6, "Imran", "Jammu");
            dt.Rows.Add(7, "Alok", "Delhi");
            dt.Rows.Add(8, "Amit", "Shamshabad");
            dt.Rows.Add(9, "Neetu", "Bhopal");
            dt.Rows.Add(10, "Jyoti", "Chennai");
            dt.Rows.Add(11, "Radhika", "Vidisha");
            dt.Rows.Add(10, "Pooja", "Pune");

            gridview1.DataSource = dt;
            gridview1.DataBind();
        }
    } 

    protected void gridview1_OnRowDataBound(object sender, GridViewRowEventArgs e) {
        if (e.Row.RowType == DataControlRowType.DataRow) {
            for (int i = 0; i < e.Row.Cells.Count; i++) {                 
                TextBox txt = new TextBox();
                txt.Text = e.Row.Cells[i].Text;                 
                e.Row.Cells[i].Text = "";
                e.Row.Cells[i].Controls.Add(txt);
            }
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM