میخوام وقتی در هر کجای یک ردیف در Grid کلیک میکنم اون ردیف به حالت انتخاب دربیاد !

راستش برای انتخاب یک ردیف از یک Gridview نمیخوام از حالت Select استفاده کنم بلکه میخوام با کلیک بر روی هرکدام از فیلدها ، کل اون سطر انتخاب بشه !
من که هرچی گشتم ، چیزی نبود !
 

amirlol

Well-Known Member
نفهمیدم از انتخاب شدن یعنی چی !!

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


کافیه با دستورات Css و Javascript کار کنید !!


البته کمی منظورتونو واضح تر بگین
 
مثلا تو سایت http://www.irancode.ir
وقتی روی هر کدام از سطرهای gridview کلیک میکنیم اون سطر به حالت انتخاب در میاد ، بعد با دکمه ای که در بالای gridview هست میتوان به صفحه ی مربوط به اون سطر رفت .
من که چنین چیزی توی asp.net 2 ندیدم . شاید هم یه پلاگین باشه ، مثل : http://webgrid.com
 

amirlol

Well-Known Member
دوست من موضوعی که شما بیان کردین ربطی به برنامه نویسی نداره !!
و همونطوری که گفتم با Javascript + Css انجام میشه

برات تا فردا کدشو می زارم
 
آقای amirlol من با خیلی گشتن تو اینترنت یه چیزهایی پیدا کردم :
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Attributes.Add("onMouseOver", "this.style.backgroundColor='lightblue';")
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='';")
e.Row.Attributes.Add("onclick", "javascript:__doPostBack('GridView1','select$" & e.Row.RowIndex & "')")
End If
End Sub​
ولی نمیدونم اشکالش چیه ؟
کمی مشکل داره این کد !
چون اون سطری که به حالت انتخاب در اومده ، با حرکت ماوس روی سطرهای دیگر ، از حالت انتخاب درمیآد .
و دوم اینکه با کلیک ماوس روی یک سطر اصلا عمل PostBack انجام نمیشه ! و من نمیتونم مقادیر اون سطر رو به Session هام نسبت بدم !
 
آخرین ویرایش:

mak

Member
amir_3d_mad جان دو تا فايل برات ميزارم اين دو تا رو كه يكيش js و اون‌يكي css هست رو با اين دو خط تو متن برنامه‌‌ات وارد كن و اصل فايلها رو هم بعد از unzip كردن همون‌ جايي كه فايل اصليت هست copy كن!


کد:
</script>
<script type="text/javascript" src="ew.js"></script>
<link href="style.css" rel="stylesheet" type="text/css" />
اين خطوط رو هم تو متن برنامه‌ي اصليت بيار
کد:
<script type="text/javascript">
<!--
var firstrowoffset = 1; // first data row start at
var tablename = 'ewlistmain'; // table name
var usecss = true; // use css
//var usecss = false; // use css
var rowclass = 'ewTableRow'; // row class
var rowaltclass = 'ewTableAltRow'; // row alternate class
var rowmoverclass = 'ewTableHighlightRow'; // row mouse over class
var rowselectedclass = 'ewTableSelectRow'; // row selected class
var roweditclass = 'ewTableEditRow'; // row edit class
var rowcolor = '#FFFFFF'; // row color
var rowaltcolor = '#a3edff'; // row alternate color
var rowmovercolor = '#babaff'; // row mouse over color
var rowselectedcolor = '#FFFF99'; // row selected color
var roweditcolor = '#FFFF99'; // row edit color
//-->
</script>
حالا اونجايي كه به احتمال قوي از دستور Do While داري براي نمايش ركوردهات استفاده ميكني بايد اين كدها رو بلافاصله بعد از اين دستور اضافه كني (زبوني رو كه من استفاده كردم aspكلاسيك هستش تو به هر زبوني كه مينويسي تبديلش كن.خيلي ساده ‌است!)
کد:
<%
nRecCount = 0
Do While (Not rs.Eof)
	nRecCount = nRecCount + 1
	' Set row color
	sItemRowClass = " class=""ewTableRow"""
	sListTrJs = " onmouseover='ew_mouseover(this);' onmouseout='ew_mouseout(this);' onclick='ew_click(this);'"

	' Display alternate color for rows
	If nRecCount Mod 2 <> 1 Then
		sItemRowClass = " class=""ewTableAltRow"""
	End If
%>
حالا توي اون tr كه ركوردهات رو تك تك نشون ميده به تگ trت اين خطوط رو اضافه كن مثل اين:
کد:
	<tr<%=sItemRowClass%><%=sListTrJs%>>
ان شاءالله كه جواب ميده!

موفق باشي!:wink:
 

پیوست ها

  • files.zip
    7.7 کیلوبایت · بازدیدها: 6
آخرین ویرایش:

جدیدترین ارسال ها

بالا