PDA

View Full Version : تولید جدول داینامیک در asp.net



tanha_nabash
شنبه 17 مرداد 1388, 21:22 عصر
ایا این امکان توی asp.net با کد c# وجود دارد؟

یک فروشگاه اینترنتی است که 2 ستون و بسته به تعداد محصولات سطر دارد یعنی زمانی که صفحه لود می شود عکس و اسم محصول و قیمت ان از پایگاه داده خوانده و هر کدام را در یک سلول نشان دهد .جستجو هم داریم زمانی که یک نوع محصول مثلا می خواهیم پوشاک را نشان دهد خوب نوع پوشاک را سرچ کرده و در جدولی که توضیح داده ام نشان دهد از grid view و.. نمی خواهیم استفاده کنیم ایا امکان دارد ایجاد سطرهای جدول بصورت داینامیک ایجاد شود( در Asp می شود) ( یعنی هر رکوردی که از پایگاه داده خوانده شود یک سطر ایجاد شد و اطلاعات را در یک سلول از ان سطر نشان دهد)

شخصی گفت که از group شی می توانید استفاده کنید ایا می دانید چیست؟

L_eskandary
شنبه 17 مرداد 1388, 22:21 عصر
سلام دوست عزیز
فکر می کنم برا کار شما مناسب ترین گزینه استفاده از dataList باشه ، چرا ازش استفاده نمی کنین ؟
در مورد جدول پویا و خاصیت group شرمنده ، من که تا بحال ندیدم .
موفق باشین

salehbagheri
یک شنبه 18 مرداد 1388, 00:31 صبح
من این کار رو انجام دادم ولی خوب به سختی اش نمی ارزه!!! (در بعضی مواقع هم ممکنه خیلی ارزش پیدا کنه)

شما باید از HtmlGenericControl ها استفاده کنی و ظاهر اون چیزی که میخوای نشون داده بشه رو طراحی کنی!!
من کد ناقصی میذارم فقط برای درک بیشتر:



ProtectedFunction CreateEditorArea() As HtmlGenericControl
Dim Div AsNew HtmlGenericControl("Div")
Div.Attributes("id") = Me.ID
If Direction = Directions.RightToLeft Then Div.Style("direction") = "rtl"Else Div.Style("direction") = "ltr"
Div.Style("width") = Width.ToString
Div.Style("height") = Height.ToString
Div.Style("padding") = BorderPadding.ToString
Div.Style("background-color") = ColorTranslator.ToHtml(BackColor)
Div.Style("border") = "solid " + BorderWidth.ToString + " " + ColorTranslator.ToHtml(BorderColor)
Dim ToolButton AsString() = Toolbar.Split(",")
Dim Table AsNew HtmlGenericControl("Table")
Table.Style("float") = "right"
Table.Style("border") = "0px 0px 0px 0px"
Table.Attributes("cellpadding") = "0"
Table.Attributes("cellspacing") = "0"
Dim TR AsNew HtmlGenericControl("tr")
Dim TD AsNew HtmlGenericControl("td")
TD.Style("border") = "0px 0px 0px 0px"
TD.Style("padding-top") = "1px"

TR.Controls.Add(TD)
Table.Controls.Add(TR)
Dim OutString AsString = ""
If ToolButton.Length > 0 Then

EndIf
EndFunction


بعد از طریق یه حلقه ForNext دونه دونه مطالب دیتابیس رو از تابع بالا میگذرونی و تو یه شی دیگه ذخیره میکنی!!!!
بعد از طریق کدهای زیر میتونی شی مذکور رو روی صفحه حک کنی!!!



Page.ClientScript.RegisterClientScriptBlock(Page.G etType, "", "")
Page.Form.Controls.Add(CreateEditorArea)


این روش بنده است و ممکنه اشکالات فنی عدیده ای داشته باشه!!
برای اطلاعات بیشتر به سایتهای برنامه نویس و یا MSDN مراجعه کنید!