PDA

View Full Version : بهمریختن ستون های gridview در هنگام نمایش نتیجه select



sara_sh_s
پنج شنبه 28 خرداد 1388, 15:49 عصر
با سلام
من یک gridview دارم که نتیجه یک select را به آن bind کرده ام. عنوان ستون ها هم در store procedure مشخص شده است. بعد از اجرا اگر ستون چند کلمه اییباشد هر کلمه را در یک خط(زیر هم) نشان میدهد. محتوای ستون ها هم همین مشکل را دارد.اگر برای هر ستون در propertise آن در قسمت headeStyle مشخصه wrapرا false کنم مشکل حل میشوداما مسئله اینجاست که تعداد ستونها مشخص نیست و من در کدنویسی مجبورم تک تک ستونها را تنظیم کنم.شما راه حل دیگری ندارید؟ در واقع نمی خوام خطها بشکنند

iman_22a
پنج شنبه 28 خرداد 1388, 16:24 عصر
سلام . بنظرم با فالس کردن خصوصیت Wrap از RowStyle گریدویو نیازی به تنظیم تک تک ستون ها نباشه .

sara_sh_s
شنبه 30 خرداد 1388, 11:32 صبح
سلام . بنظرم با فالس کردن خصوصیت Wrap از RowStyle گریدویو نیازی به تنظیم تک تک ستون ها نباشه .


با تشکر از جوابتون
من این راه رو هم امتحان کردم اما جواب نمیده ! این مشکل به نظر غیر معمول میاد. برای دسترسی به صورت تک به تک هم یه مشکل وجود داره و اونم اینه که بعد از bind کردن data table به gridview ستونها را نمیشناسه. در واقع درست هم عمل میکنه چون در ابتدا gridview خالی است.
کد زیر ارتباط gridview با پایگاه داده را نشان میدهد.


SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConString;
SqlCommand comm = new SqlCommand("search_mess", conn);
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.AddWithValue("@w", w);
DataTable dt = new DataTable();
adab.Fill(dt);
grvMessPro.DataSource = dt;
grvMessPro.DataBind();

ممنون میشم اگه کمکم کنید.

iman_22a
شنبه 30 خرداد 1388, 16:37 عصر
این راه رو امتحان کردین ؟ حدس میزنم با این روش درست بشه .



Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
For i As Integer = 0 To e.Row.Cells.Count - 1
e.Row.Cells(i).Wrap = False
Next
End Sub

sara_sh_s
شنبه 30 خرداد 1388, 16:49 عصر
این راه رو امتحان کردین ؟ حدس میزنم با این روش درست بشه .




Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

For i As Integer = 0 To e.Row.Cells.Count - 1
e.Row.Cells(i).Wrap = False
Next
End Sub


با سلام
این راه جواب داد . واقعا از لطفتون ممنونم. خیلی کمک بزرگی کردید.چند روزه که حسابی گرفتارشم. از این تابع استفاده کرده بودم ولی کدهای پیچیده در اون نوشته بودم.
براتون آرزوی سلامتی و موفقیت دارم.