PDA

View Full Version : افزودن سطر خالی به گریدویو



bahar123
پنج شنبه 06 بهمن 1390, 13:43 عصر
سلام
من میخوام به صورت دستی به گرید ویو اطلاعات وارد شه.یعنی وقتی پیج لود میشه گریدویو رو با یک سطر خالی در حالت insert نمایش بده و وقتی در این سطر خالی اطلاعات وارد شد دوباره یک سطر خالی زیر اون بیاره.قراره اطلاعات هر سطر بعدا به دیتابیس اضافه بشه.
کسی راه حل رو میدونه؟
با تشکر

crazy_1892
پنج شنبه 06 بهمن 1390, 15:06 عصر
خاصیت inser Row را باید فعال کنی

karim orooji
پنج شنبه 06 بهمن 1390, 19:43 عصر
سلام
ببین این برنامه بدردت میخوره
دانلود برنامه گرید با قابلیت ذخیره ،حذف ،ویرایش و اطلاعات و عکس (http://barnamenevis.org/showthread.php?248285-دانلود-برنامه-گرید-با-قابلیت-ذخیره-،حذف-،ویرایش-و-اطلاعات-و-عکس)





یا علی

bahar123
شنبه 08 بهمن 1390, 08:39 صبح
سلام
ببین این برنامه بدردت میخوره
دانلود برنامه گرید با قابلیت ذخیره ،حذف ،ویرایش و اطلاعات و عکس (http://barnamenevis.org/showthread.php?248285-دانلود-برنامه-گرید-با-قابلیت-ذخیره-،حذف-،ویرایش-و-اطلاعات-و-عکس)





یا علی

سلام
ممنون از راهنماییتون.اما این برنامه هم که شما بهم لینک دادید وقتی جدول هیچ داده ای نداشته باشه گریدویو رو نمایش نمیده.
من میخوام برای اولین بار هم که کاربر برنامه رو با دیتابیس خالی اجرا میکنه بتونه داده ها رو از طریق گریدویو به دیتابیس اضافه کنه

bahar123
شنبه 08 بهمن 1390, 08:40 صبح
خاصیت inser Row را باید فعال کنی

این خاصیت در گریدویو وجود نداره

bahar123
شنبه 08 بهمن 1390, 08:58 صبح
جوابش رو پیدا کردم.افزودن کلاس زیر به برنامه:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;

public class EmptyGridView : GridView
{
#region Properties

/// <summary>
/// Enable or Disable generating an empty table if no data rows in source
/// </summary>
[
Description("Enable or disable generating an empty table with headers if no data rows in source"),
Category("Misc"),
DefaultValue("true"),
]
public bool ShowEmptyTable
{
get
{
object o = ViewState["ShowEmptyTable"];
return (o != null ? (bool)o : true);
}
set
{
ViewState["ShowEmptyTable"] = value;
}
}

/// <summary>
/// Get or Set Text to display in empty data row
/// </summary>
[
Description("Text to display in empty data row"),
Category("Misc"),
DefaultValue(""),
]
public string EmptyTableRowText
{
get
{
object o = ViewState["EmptyTableRowText"];
return (o != null ? o.ToString() : "");
}
set
{
ViewState["EmptyTableRowText"] = value;
}
}

#endregion


protected override int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding)
{
int numRows = base.CreateChildControls(dataSource, dataBinding);

//no data rows created, create empty table if enabled
if (numRows == 0 && ShowEmptyTable)
{
//create table
Table table = new Table();
table.ID = this.ID;

//create a new header row
GridViewRow row = base.CreateRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);

//convert the exisiting columns into an array and initialize
DataControlField[] fields = new DataControlField[this.Columns.Count];
this.Columns.CopyTo(fields, 0);
this.InitializeRow(row, fields);
table.Rows.Add(row);

//create the empty row
row = new GridViewRow(-1, -1, DataControlRowType.DataRow, DataControlRowState.Normal);
TableCell cell = new TableCell();
cell.ColumnSpan = this.Columns.Count;
cell.Width = Unit.Percentage(100);
cell.Controls.Add(new LiteralControl(EmptyTableRowText));
row.Cells.Add(cell);
table.Rows.Add(row);

this.Controls.Add(table);
}

return numRows;
}
}