PDA

View Full Version : ارتباط بین GridView و FormView



merlin_vista
چهارشنبه 04 مهر 1386, 17:06 عصر
با سلام :
من از یک ادیتور درسایت استفاده مکنم که بعد از نوشتن مطلب تگ های HTML آن در یک فیلد از دیتابیس ذخیره میشه و بعد در صفحه اصلی آنها در یک لیبیل خوانده میشود !!
تا اینجای کار هیچ مشکلی ندارم :بوس: ولی مشکل من از اینجا شروع میشود :ناراحت:
من میخواهم در سایت یک قسمت برای ویرایش پست ها داشته باشم که کاربر بتواند پست ها را ویرایش کند !!
برای این کار تصمیم گرفتم که GridView در فرم بگزارم که کاربر هر رکورد را که انتخاب کرد اطلاعات آن در یک FormView نمایش داده شود !! به این ترتیب که در FormView امکان ادیت آنها وجود داشته باشد و بعد یک دکمه ذخیره وجود داشته باشد که ویرایش ها را روی بانک اعمال کنه !

مشکلات من در راه اندازی این صفحه !
1- ارتباط بین GridView و FormView : به گونه ای که هر کدام از سطر های که در GridView انتخاب شد !! اطلاعات آن به آن گونه که من میخواهم در Form View نمایش داده شود !!
2 - اضافه کردن ادیتور FreeTexBox به FormView برای ویرایش فیلدی که کدهای آن قبلاً در بانک ذخیره شده است !!
3 - ایجاد دکمه ذخیره برای FormView ! وذخیره ویرایش ها در بانک

اطلاعات من !! :
1 - SQL Server 2000
2- ویژوال استادیو 2005
3 - روش اتصال به بانک به صورت ویزارد میباشد
4 - نام فیلدی که در بانک برای ذخیره اطلاعات HTML است "Body " میباشد

لطفاً مراحل کار را توضیح بدهید ! :لبخندساده::بوس:

ClaimAlireza
پنج شنبه 05 مهر 1386, 12:47 عصر
یه سرچ می کردی بهتر بود!!
چند روز پیش من همین کد رو برای یه تاپیک که مضمون سوالش همین بود گذاشتم:



<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>Untitled Page</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"DataKeyNames="t_id"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundFieldDataField="t_id"HeaderText="t_id"InsertVisible="False"ReadOnly="True"
SortExpression="t_id"/>
<asp:BoundFieldDataField="tname"HeaderText="tname"SortExpression="tname"/>
<asp:BoundFieldDataField="tfname"HeaderText="tfname"SortExpression="tfname"/>
<asp:CommandFieldSelectText="detail"ShowSelectButton="True"/>
</Columns>
</asp:GridView>
<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT * FROM [tb_test]"></asp:SqlDataSource>
<br/>
<br/>
<br/>
<asp:DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"DataKeyNames="t_id"
DataSourceID="SqlDataSource2"Height="50px"Width="125px">
<Fields>
<asp:BoundFieldDataField="t_id"HeaderText="t_id"InsertVisible="False"ReadOnly="True"
SortExpression="t_id"/>
<asp:BoundFieldDataField="tname"HeaderText="tname"SortExpression="tname"/>
<asp:BoundFieldDataField="tfname"HeaderText="tfname"SortExpression="tfname"/>
<asp:CommandFieldShowDeleteButton="True"ShowEditButton="True"/>
</Fields>
</asp:DetailsView>
<asp:SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
DeleteCommand="DELETE FROM [tb_test] WHERE [t_id] = @t_id"InsertCommand="INSERT INTO [tb_test] ([tname], [tfname]) VALUES (@tname, @tfname)"
SelectCommand="SELECT * FROM [tb_test] WHERE ([t_id] = @t_id)"UpdateCommand="UPDATE [tb_test] SET [tname] = @tname, [tfname] = @tfname WHERE [t_id] = @t_id">
<DeleteParameters>
<asp:ParameterName="t_id"Type="Int64"/>
</DeleteParameters>
<UpdateParameters>
<asp:ParameterName="tname"Type="String"/>
<asp:ParameterName="tfname"Type="String"/>
<asp:ParameterName="t_id"Type="Int64"/>
</UpdateParameters>
<SelectParameters>
<asp:ControlParameterControlID="GridView1"Name="t_id"PropertyName="SelectedValue"
Type="Int64"/>
</SelectParameters>
<InsertParameters>
<asp:ParameterName="tname"Type="String"/>
<asp:ParameterName="tfname"Type="String"/>
</InsertParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>

merlin_vista
پنج شنبه 05 مهر 1386, 13:12 عصر
میشه یه توضیح درباره این کد بدی !! چون من ازش هیچی نفهمیدم !

ClaimAlireza
پنج شنبه 05 مهر 1386, 13:25 عصر
این کد html اون چیزیه که میخای!!!

توی صفحه Aspx کپیش کن بعد اون رو نسبت به بانک و جدولی که داری تنظیم کن.

موفق باشی....