الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

How To Chang Gridview Column Name At Run Time

بدأه MAHGOOP في 18 أبريل 2008 · 16 رد · 1,863 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاتة

I Have a GridView on MasterPage in Each Page I Fill this GridView With Page Data

the peoblem is change GrideView Column Name "HeaderText' at RunTime Can Any One Help Me

Note "GridView" On MasterPage without DataSource I Assign DataSource At pageLoad event in Each Page

My Code


{
frmBase master = (frmBase)this.Master;
master.dtgMaster.DataSource = SqlDataSource1;
master.dtgMaster.DataBind();
master.dtgMaster.Columns[1].HeaderText = "N Name";
}
  protected void Page_Load(object sender, EventArgs e)

Exeption Is


Parameter name: index
Index was out of range. Must be non-negative and less than the size of the collection.

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#2

السلام عليكم

استخدم الطريقة التالية

VB
 Dim row As GridViewRow = GridView1.HeaderRow
		row.Cells(0).Text = "11"

C#

  GridViewRow row = GridView1.HeaderRow;
		row.Cells[0].Text = "11" ;
#3

السلام عليكم و رحمة الله و بركاتة

بارك الله فيك أخي الكريم "TareqVB" بالفعل أشتغالت معايا :clapping:

بس معلش ليا طلب تاني B)

و هو أزاي أخفي عمود من الأعمدة

جربت

 GridViewRow row = GridView1.HeaderRow;
	   row.Cells[1].Visible = false;

و لم تفلح الطريقة :cry:

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#4
GridView1.Columns[1].Visible = False;

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#5

السلام عليكم و رحمة الله و بركاتة

شكرا أخي الكريم "محمد سماقية" على الرد و لكن هذة الطريقة لا تجدي

Exeption

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#6
GridView1.Columns[index].Visible = False;

أخي الـindex يجب ان يكون ضمن مجال عدد اعمدة الـgridview يعني لو كان هناك ثلاث اعمدة يجب ان يكون قيمة الـindex مابين الـ0 و الـ2

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#7

السلام عليكم و رحمة الله و بركاتة

شكرا أخي الكريم على المتابعة و لكن

كما قلت في أول مشاركة أني أقوم بتحديد ال "DataSource " في ال "RunTime" لذلك لا يرى أي "Column" في "GridView"

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#8
	protected void Page_Load(object sender, EventArgs e)
	{
		if (!IsPostBack)
		{
			frmBase master = (frmBase)this.Master;
			master.dtgMaster.DataSource = SqlDataSource1;
			master.dtgMaster.DataBind();

		}
	}

تم تعديل هذه المشاركة بواسطة محمد سماقية في 19 أبريل 2008 في 12:54

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#9

السلام عليكم و رحمة الله و بركاتة

سأرفق مثال بالمساء للتوضيح

و شكرا أخ محمد على المتابعة :rolleyes:

تم تعديل هذه المشاركة بواسطة MAHGOOP في 19 أبريل 2008 في 14:37

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#10

السلام عليكم و رحمة الله و بركاتة

المثال الذي أرغب في إيجاد حل له

WebApplication2.rar

تم تعديل هذه المشاركة بواسطة MAHGOOP في 19 أبريل 2008 في 22:50

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#11
		<asp:GridView ID="dtgMaster" runat="server" AllowPaging="True" PageSize="5" 
			AutoGenerateColumns="False">
			<Columns>
				<asp:BoundField DataField="CategoryID" HeaderText="CategoryID" />
				<asp:BoundField DataField="CategoryName" HeaderText="CategoryName" />
				<asp:BoundField DataField="Description" HeaderText="Description" />
			</Columns>
		</asp:GridView>

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#12

السلم عليكم و رحمة الله و بركاتة

أخي الكريم محمد سماقية شكرا جدا على المتابعة

ما أريدة هو الأتي

ال"" الموجودة في ال "GridView" أستخدمها في كل صفحة من الصفحات و كل صفحة ليها "DataSource" مختلف تماما عن الصفحة الأخرى

و شكراً

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#13
   <asp:DataGrid ID="dtgMaster" runat="server" AllowPaging="True" PageSize="5" AutoGenerateColumns="true">
		</asp:DataGrid>

   public partial class WebForm1 : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{

			frmBase master = (frmBase)this.Master;

			BoundColumn bc= new BoundColumn();
			bc.DataField = "CategoryID";
			bc.HeaderText = "CategoryID";
			master.dtgMaster.Columns.Add(bc);

			bc = new BoundColumn();
			bc.DataField = "CategoryName";
			bc.HeaderText = "CategoryName";
			master.dtgMaster.Columns.Add(bc);

			bc = new BoundColumn();
			bc.DataField = "Description";
			bc.HeaderText = "Description";
			master.dtgMaster.Columns.Add(bc);

			master.dtgMaster.AutoGenerateColumns = false;
			master.dtgMaster.DataSource = SqlDataSource1;
			master.dtgMaster.DataBind();
			// Here is the Exception
			master.dtgMaster.Columns[1].Visible = false;
		}

	}

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#14

السلام عليكم و رحمة الله و بركاتة

أخي محمد سماقية شكرا جدا جدا على متابعتلك للموضوع و جعلة الله في ميزان حسناتك

و لكني أستخدم "GridView" و ليس "DataGrid"

و شكرا على متابعتك مرة أخرى

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#15
The GridView control supports the following column types: BoundField, HyperLinkField, ButtonField, CommandField ImageField, and CheckBoxField.

http://msdn2.microsoft.com/en-us/library/05yye6k9.aspx

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#16

السلام عليكم و رحمة الله و بركات

هل لا يوجد حل !!!!!!

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

#17

up

------------------------------------------------

لا إله إلا أنت سبحانك أني كنت من الظالمين

-----------------------------------

27e64a660f.gif

مواضيع مشابهة