PDA

View Full Version : سئوال در مورد دیتا گرید و نمایش فایلهای ویدئویی د ر سایت



zshahrzad
پنج شنبه 30 فروردین 1386, 12:12 عصر
سلام
دو سئوال از ASP.NET که در آن ازVB.NET استفاده شده داشتم :
سئوال 1: برای پیاده سازی سبد خرید یک فروشگاه و صدور صورتحساب نیاز هست که کاربر تعداد مورد نیازش از هر کالا را بتواند در یک Textbox یاDropdown list مشخص نماید .حال سئوال من این است که چگونه می توان در یکی از ستون هایDatagrid یا Table، یک Dropdown list یا Textbox قرار داد.راه پیاده سازی این مورد چیست؟
سئوال 2 : برای نمایش قطعات فیلم از کامپوننت Windows Media Player استفاده کردم، میخواهم ببینم دقیقاً پارامترهاش راچگونه باید مقدار بدهم یا برنامه مربوط به آن برای نمایش فیلم را چگونه بنویسم؟ (می خواهم هر بار که مشخصات یک فیلم به کاربر نشان داده می شود بتوان قطعه ایی از آن را نمایش داد.) آیا راه بهتری برای این کار وجود داره؟
خیلی ممنون می شم اگه کسی خیلی سریع پاسخ من را بده

nazaninam
پنج شنبه 30 فروردین 1386, 13:33 عصر
سوال 1 : یک ستون از نوع Template بگذار و یک dropdownlist یا هر کنترل دیگه ای داخلش بنداز
سوال 2 : میتونی از فلش استفاده کنی

zshahrzad
پنج شنبه 30 فروردین 1386, 15:31 عصر
سلام
خیلی ممنون از پاسختون
راستش من قبلاً این کار را انجام دادم وستونی که می خواهم درون آن کنترلی مانند DropDownlist قراردهم را از نوع Template columnتعریف کردم در کد Html آن مستقیماً که نمی توان Dropdown list قرار داد من یک بار تگ<EditItemTemplete> و بار دیگر < Item Templete >را گذاشته و داخل آن dropdown list یا textbox گذاشتم ، در این حالت جدول را نمایش می دهد اما این ستون آن خالی است و dropdown list یا textbox درون آن نیست.
خیلی ممنون اگر می شوم کامل تر و دقیق تر توضیح دهید.
در مورد استفاده از فلش هم میشه بیشتر توضیح دهید آیا با آن می توان فرمتهای مختلف ویدئو مانند avi و ... را نمایش داد.چگونه؟

nazaninam
پنج شنبه 30 فروردین 1386, 18:05 عصر
منظور بنده این نبود که داخل کد Html اینو بندازید میتونید مستقیم از طریق design کنترل رو داخل item template بندازید !
حالا فرقی نمی کنه! در مورد خالی بودنش والا شاید جایی دای اشتباه می کنی چون باید نشون بده

zshahrzad
پنج شنبه 30 فروردین 1386, 19:34 عصر
ببخشید ،آیا شما تا به حال این کاری که می فرمایید را انجام دادین !
آخه نمی شه چیزی را داخل datagrid به صورت Drag & drop قرار داد.اگه شما تا به حال کاری مشابه این انجام دادین میشه بگین تنظیمات خاصی می خواهد؟آیا همین که آیتم های dropdown list را مشخص کنیم ، آن را Enable کرده و visible آن را true کنیم کافیه ؟

در مورد نمایش فیلم هم اگه میشه توضیح بدین.

fereshte22
پنج شنبه 30 فروردین 1386, 23:42 عصر
سلام
شما میخواهیى ایتمهیتان را از توی دیتابیس بخونید یا خودتون اضافه میکنید .اگه خودتون اضافه میکنید به این صورت عمل کنید


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

در واقع شما اول یک دیتاگرید یا gridview روی فرم قراربدهید و یک ستون از نوع TemplateField به ان اضافه کنید و سپس dropdownlist را طراحی کنید و کدهای html اون را درون تگهای


<ItemTemplate>

</ItemTemplate>

قراردهید.البته من یک دیتاسورس هم ایجاد کردم و gridview را به اون بایند کردم چون وقتی این کار را نمیکردم چیزی نشون نمیداد
اگر ایتم ها را از دیتا بیس میخونید خوب باید کنترل را به دیتاسورس مورد نظر بایند کنید و datatextfield و datavaluefield را براش مشخص کنید


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource1"
DataTextField="number" DataValueField="number">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

zshahrzad
جمعه 31 فروردین 1386, 17:02 عصر
سلام
خیلی ممنون از پاسخ کامل و دقیقی که به سئوالم دادید:تشویق: :تشویق:
برای نمایش dropdownlist یک مشکل کوچک بود که خدا را شکر با راهنمایی شما حل شد .
اما متأ سفانه من موفق به اتصال این dropdown list به Database نشدم آیا میشه یک کمی بیشتر توضیح بدین . ممنون می شوم

یک سئوال دیگه هم در مورد صفحه بندی دیتا گرید دارم.
راستش من از صفحه بندی پیشرفته استفاده می کنم و در query با استفاده از startindex و endindex که با توجه به اندازه صفحه ایی که برای دیتا گرید تعیین شده مشخص می کنم که در هر صفحه چه مقدار اطلاعات نمایش بده . اما دو تا مشکل وجود داره :
1 : اگر اندازه صفحه مثلاً 8 باشه و در 8 رکورد اول Database رکوردی با شرایط دلخواه ما وجود نداشت ، آن وقت صفحه اول گرید خالی می مونه و به همین ترتیب برای سایر صفحات .
2 :و اگر محدوده endindex را افزایش دهم ،بعضی از رکوردها به صورت تکرارری نشون داده می شه .
خیلی خیلی ممنون می شم اگه راه حلی ارائه بدین.

yavari
جمعه 31 فروردین 1386, 20:55 عصر
سلام

سوال دوم سوال منم هست !!!
ممنون میشم دوستان راهنمائی کنن !

zshahrzad
شنبه 01 اردیبهشت 1386, 08:40 صبح
سلام دوستان لطفاً کمک کنید ،به خصوص راجع به صفحه بندی Datagrid !!!

fereshte22
شنبه 01 اردیبهشت 1386, 09:20 صبح
سلام
در مورد اتصال به دیتابیس خوب شما باید یک sqldatasource به صورت ویزاردی ایجاد کنید و وخاصیت datasourceid از کنترل dropdownlist را برابر با کانکشنی که ساخته اید قرار دهید
اگر هم با کدنویسی میخواهید کار کنید به صورت زیر عمل کنید



Dim con As New SqlConnection(ConfigurationManager.ConnectionStrin gs("ssgshopConnectionString").ConnectionString)
Dim cmd As New SqlCommand("SELECT * FROM tablename", con)
con.Open()
Dim r As SqlDataReader = cmd.ExecuteReader()
drponvan.DataTextField = "number"
drponvan.DataValueField = "number"
drponvan.DataSource = r
drponvan.DataBind()
con.Close()


البته خوب حتما این را در نظر داری که همزمان از دوتا روش استفاده نکنی .یعنی وقتی خاصیت datasourceid را برابر با datasourece قرار میدی دیگه کد ننویسی

zshahrzad
یک شنبه 02 اردیبهشت 1386, 02:46 صبح
سلام
خیلی ممنون از لطفتون
اما راستش مشکل من اینه که کنترل هایی مثل همین Dropdown list که د رDatagrid استفاده می شوند در موقع کد نویسی شناخته نمی شوند و نمی توان بوسیله ID به آنها دسترسی داشت و برای آنها برنامه نوشت مثلاً اگه من بخواهم با تغییر مقدار این dropdown list تابعی اجرا شده و مقدار انتخاب شده این drop down list در مقدار یکی دیگر از ستونهای دیتاگرید ضرب شده و در ستون سومی نمایش داده شود نمی توانم به مقدار Dropdown از طریق ID دسترسی داشته باشم. و به همین دلیل از طریق کدنویسی نتونستم اتصالش را با Database برقرار کنم . از طریق wizard هم عمل می کنم به این ترتیب که یک sqlconnection ، یک sqlcommand و یک Dataset قرار می دهم ، بعد برای Dataset یک Data table تعیین میکنم و Datasourse مربوط به Dropdownlist را برابر با Dataset قرار می دهم DataTextFieldو DataValueField آنراهم مقدار می دهم اما با DropDown list خالیه ، البته این را هم بگم که منبع Dropdown list و datagrid با هم فرق می کنن و datagrid را از طریق کد نویسی مقید کردم و مشکلی هم نداره . آیا شما می دونید مشکل کجاست و راه حل چیه ؟
باز هم خیلی ممنون مشو م اگه راهنمای کنید.

zshahrzad
یک شنبه 02 اردیبهشت 1386, 03:10 صبح
آقا/ خانم yavari سلام
اگه منظورتون از سئوال دو م ، نمایش فایل های گرافیکی است، فکر کنم کد زیر مفید باشه.


<HTML>
<HEAD>
</HEAD>
<BODY>
<OBJECT id = "Player"
CLASSID = "CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" height
="300" width ="400">


</OBJECT>
<INPUT TYPE="BUTTON" NAME="BtnPlay" VALUE="Play" OnClick="StartMeUp()">
<INPUT TYPE="BUTTON" NAME="BtnStop" VALUE="Stop"
OnClick="ShutMeDown()">
<SCRIPT>
<!--
function StartMeUp ()
{
Player.URL = "D:\\media\\A.DAT";
}
function ShutMeDown ()
{
Player.controls.stop();
}
-->
</SCRIPT>
</BODY>
</HTML>