سلام دوست من :
اگر اشتباه نکنم و منظور شما را درست فهمیده باشم می خواهید مقدار TextBox هر سطری را که انتخاب کردید بدست آوردید :
اوکی :
فقط اینو بگم من از اطلاعات ثابت استفاده کردم شما به پایگاه داده وصل شوید
کلاس دانشجو :
public partial class Student
{
public int Id { get; set; }
public string Name { get; set; }
public string Family { get; set; }
}
CSS های برای زیبای :
<style type="text/css" lang="en">
.main {
width: 800px;
height: auto;
margin: 0 auto;
}
.row {
width: 800px;
height: 30px;
background-color: #f8f8f8;
border-bottom: 1px solid #eee;
}
.field {
float: left;
width: 200px;
height: 30px;
line-height: 2.5em;
}
.link {
text-decoration: none;
font: normal 13px tahoma;
}
</style>
یک گرید به صفحه اضافه می کنم
<div class="main">
<asp:GridView ID="gridStudents" runat="server" SelectMethod="gridStudents_GetData"
ItemType="WebApplicationPost.Model.Student" AutoGenerateColumns="false" Caption="Students List" OnRowCommand="gridStudents_RowCommand" DataKeyNames="Id">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class="row">
<div class="field">
<asp:TextBox ID="txtName" runat="server" Text='<%# Item.Name %>'></asp:TextBox>
</div>
<div class="field">
<asp:TextBox ID="txtFamily" runat="server" Text='<%# Item.Family %>'></asp:TextBox>
</div>
<div class="field">
<asp:LinkButton ID="lbGetId" runat="server" CommandName="getData"
CommandArgument='<%# Container.DataItemIndex %>' Text="دستیابی به مقادیر این سطر"
CssClass="link"></asp:LinkButton>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
جهت بدست آوردن اطلاعات هر سطر باید رویداد RowCommand را Raise کنید
در این رویداد Idex شماره سطر و Id ..Id رکورد انتخابی در پایگاه داده می باشد
این متد جهت پر کردن گرید :
public IEnumerable<Student> gridStudents_GetData()
{
return new List<Student>
{
new Student{ Id=1 , Name="Abolfazl" , Family="RoshanZamir"},
new Student { Id=2, Name="Zahra" , Family="Hasani"},
new Student{Id=3, Name="ANDY", Family="Madadian"},
new Student{ Id=4 , Name="Leila" , Family="Frouhar"}
};
}
در این رویداد مقادیر مورد نظر را بدست می آوریم :
protected void gridStudents_RowCommand(object sender, GridViewCommandEventArgs e)
{
//شماره سطر از 0 شروع می شود
int Idex = Convert.ToInt32(e.CommandArgument);
//گرفتن Id
//سطر انتخابی با استفاده از Idex
//همون Id که برای هر دانشجو در نظر گرفتیم می باشد
int Id = (int)gridStudents.DataKeys[Idex].Value;
string txtName = (gridStudents.Rows[Idex].Cells[0].FindControl("txtName") as TextBox).Text;
string txtFamilt = (gridStudents.Rows[Idex].Cells[1].FindControl("txtFamily") as TextBox).Text;
}
سوالی داشتی بگو ...
ببخشید از اینکه دیر جواب دادم
موفق و پیروز باشی