PDA

View Full Version : تغییر صفحات گریدویو به وسیله جاوا اسکریپت



sam166
پنج شنبه 19 اردیبهشت 1392, 16:06 عصر
چطور میشه صفحات گریدویو رو با جاوا اسکریپت عوض کرد به طوری که صفحه رفرش نشه؟؟؟

hesamsalehnamadi
پنج شنبه 19 اردیبهشت 1392, 19:54 عصر
چطور میشه صفحات گریدویو رو با جاوا اسکریپت عوض کرد به طوری که صفحه رفرش نشه؟؟؟

update panel مگه چشه؟

mahdidabaghi
پنج شنبه 19 اردیبهشت 1392, 20:35 عصر
سلام این کد خدمت شما



<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false" Font-Names="Arial"
Font-Size="10pt" RowStyle-BackColor="#A1DCF2" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor = "White">
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="CustomerID" HeaderText="CustomerID" />
<asp:BoundField ItemStyle-Width="150px" DataField="ContactName" HeaderText="CustomerID" />
<asp:BoundField ItemStyle-Width="150px" DataField="City" HeaderText="City" />
Columns>
asp:GridView>




using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Services;

Binding the Dummy row


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.BindDummyRow();
}
}

private void BindDummyRow()
{
DataTable dummy = new DataTable();
dummy.Columns.Add("CustomerID");
dummy.Columns.Add("ContactName");
dummy.Columns.Add("City");
dummy.Rows.Add();
gvCustomers.DataSource = dummy;
gvCustomers.DataBind();
}



WebMethod to handle jQuery AJAX


[WebMethod]
public static string GetCustomers()
{
string query = "SELECT top 10 CustomerID, ContactName, City FROM Customers";
SqlCommand cmd = new SqlCommand(query);
return GetData(cmd).GetXml();
}
private static DataSet GetData(SqlCommand cmd)
{
string strConnString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
sda.Fill(ds);
return ds;

}
}
}
}



Client side functionality

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">script>
<script type="text/javascript">
$(function () {
$.ajax({
type: "POST",
url: "Default.aspx/GetCustomers",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
});

function OnSuccess(response) {
var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var customers = xml.find("Table");
var row = $("[id*=gvCustomers] tr:last-child").clone(true);
$("[id*=gvCustomers] tr").not($("[id*=gvCustomers] tr:first-child")).remove();
$.each(customers, function () {
var customer = $(this);
$("td", row).eq(0).html($(this).find("CustomerID").text());
$("td", row).eq(1).html($(this).find("ContactName").text());
$("td", row).eq(2).html($(this).find("City").text());
$("[id*=gvCustomers]").append(row);
row = $("[id*=gvCustomers] tr:last-child").clone(true);
});
}
script>

امیدوارم مفید یاشه واستون
Good Luck

mohammad kafiyan
پنج شنبه 19 اردیبهشت 1392, 20:47 عصر
اگر بخواهی خیلی راحت و بدونه کدنویسی کار کنی از همان updatepanel,در غیر اینصورت
http://www.aspsnippets.com/Articles/Bind-data-to-GridView-with-jQuery-or-JSON-in-ASPNet.aspx

mahdidabaghi
پنج شنبه 19 اردیبهشت 1392, 20:52 عصر
update panel مگه چشه؟
مهندس بنظر من update panel سربار زیادی ایجاد میکنه ... Jquery_Ajax با طغم Web Service و Json بسیار عالی و کارامد هست.هرچند ممکنه اون اوایل به دلیل سخت بودن کدها یکم این طعم بامذاق بعضی از دوستان جور نباشه.
Good Luck

fakhravari
جمعه 20 اردیبهشت 1392, 01:44 صبح
یه نمونه مثال میزاریmahdidabaghi (http://barnamenevis.org/member.php?88614-mahdidabaghi)

mahdidabaghi
جمعه 20 اردیبهشت 1392, 23:14 عصر
یه نمونه مثال میزاریmahdidabaghi (http://barnamenevis.org/member.php?88614-mahdidabaghi)
با سلام
تمامیکدها رو در پست بالا قرار دادم ... زحمت Copy و Paste با شما
اگر سوالی بود در خدمت هستم
Good Luck

fakhravari
جمعه 20 اردیبهشت 1392, 23:41 عصر
با سلام
تمامیکدها رو در پست بالا قرار دادم ... زحمت Copy و Paste با شما
اگر سوالی بود در خدمت هستم
Good Luck
:بامزه: سمپلش بزارید

mahdidabaghi
شنبه 21 اردیبهشت 1392, 01:04 صبح
:بامزه: سمپلش بزارید
خدمت شما
فقط به زحمت یه دیتابیس و یه تیبل با اسم Customers و فیلدهای CustomerID و ContactName و City ایجاد کنید و تعدادی دیتا توی تیبل وارد کنید
نحوه کار هم به این صورته که با کلیک بر روی دکمه گرید به صورت ایجکسی بایند میشه !!!!
وشما میتونین به جای کد سلکت من یه کوئری قشنگ واسه صفحه بندی بنویسید تا جای سه تا سه تا رکورد نشون دادن n تا n تا رکورد نشون بده و به صورت ایجکسی تو گرید بایند کنه
امیدوارم مفید باشه
Good Luck

hesamsalehnamadi
شنبه 21 اردیبهشت 1392, 04:49 صبح
مهندس بنظر من update panel سربار زیادی ایجاد میکنه ... Jquery_Ajax با طغم Web Service و Json بسیار عالی و کارامد هست.هرچند ممکنه اون اوایل به دلیل سخت بودن کدها یکم این طعم بامذاق بعضی از دوستان جور نباشه.
Good Luck

100% همینطور هست دوست من... به طبع این روشی که شما گفتید حرفه ای تر از سایر روش هاست. منکرش نیستیم در کل :چشمک:
و خوب مسئله پیچینگ هم همینجا ذکر شده تو همین آدرسی که شما کدهاشو اینجا گذاشتین :لبخندساده: (هرچند ممکنه اون اوایل به دلیل سخت بودن کدها یکم این طعم بامذاق بعضی از دوستان جور نباشه) <====کاربرد Ctrl+C & Ctrl+V
http://www.aspsnippets.com/Articles/Bind-data-to-GridView-with-jQuery-or-JSON-in-ASPNet.aspx

mahdidabaghi
شنبه 21 اردیبهشت 1392, 12:04 عصر
100% همینطور هست دوست من... به طبع این روشی که شما گفتید حرفه ای تر از سایر روش هاست. منکرش نیستیم در کل :چشمک:
و خوب مسئله پیچینگ هم همینجا ذکر شده تو همین آدرسی که شما کدهاشو اینجا گذاشتین :لبخندساده: (هرچند ممکنه اون اوایل به دلیل سخت بودن کدها یکم این طعم بامذاق بعضی از دوستان جور نباشه) <====کاربرد Ctrl+C & Ctrl+V
http://www.aspsnippets.com/Articles/Bind-data-to-GridView-with-jQuery-or-JSON-in-ASPNet.aspx
بسیار عالی ...
انشاالله یکم که سرم خلوت بشه قصد دارم تایپیکی واسه انجام امور ایجکسی (نه بکمک Ms Ajax یا Update Panel بلکه Jqurery-Ajax) ایجاد کنم
بنده در حال حاضر در حال پیاده سازی یه Cms هستم که صفحه مدیریتی اون به صورت فول ایجکس ایجاد شده
Good Luck

hesamsalehnamadi
شنبه 21 اردیبهشت 1392, 16:01 عصر
بسیار عالی ...
انشاالله یکم که سرم خلوت بشه قصد دارم تایپیکی واسه انجام امور ایجکسی (نه بکمک Ms Ajax یا Update Panel بلکه Jqurery-Ajax) ایجاد کنم
بنده در حال حاضر در حال پیاده سازی یه Cms هستم که صفحه مدیریتی اون به صورت فول ایجکس ایجاد شده
Good Luck

انشاالله..................