PDA

View Full Version : اوردن اطلاعات یه سطر از گرید ویو با تیک دار کردن چک باکس جلوی اون



hamid mabhoot
شنبه 03 تیر 1391, 10:17 صبح
من در گرید ویو یه check box با ایتم tempelate جلوی هرسطر ازگرید ویو درست کردم که به طور مثال اگر کاربر چک باکس اون سطر رو تیک دار کرد اطلاعات اون سطر از گرید ویو را بتونم به labelهام نسبت بدم .خیلی لازم دارم فوری .تورو خدا کمکم کنید.

hattarzadeh
شنبه 03 تیر 1391, 11:06 صبح
سلام دوست عزیز
من نمی دوم چرا اینجوری می خوای به اطلاعات دسترسی پیدا کنی
ولی اینجا (http://http://barnamenevis.org/showthread.php?346499-خواندن-مقدار-یک-فیلد-در-gridview) یه روش هست ببین به دردت می خوره

fakhravari
شنبه 03 تیر 1391, 11:51 صبح
private void BindGrid()
{
using (SqlConnection Con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConStr"].ConnectionString))
{

using (SqlCommand Cmd = new SqlCommand("FetchData", Con))
{
Cmd.CommandType = CommandType.StoredProcedure;
Con.Open();
SqlDataReader Dr = Cmd.ExecuteReader();

GridView1.DataSource = Dr;
GridView1.DataBind();
Dr.Close();
Con.Close();
}
}
}
private void RemoveData(string RowID)
{

using (SqlConnection Con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConStr"].ConnectionString))
{

using (SqlCommand Cmd = new SqlCommand("RemoveData", Con))
{
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.AddWithValue("@MsgID", RowID);
Con.Open();
Cmd.ExecuteNonQuery();
Con.Close();
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

BindGrid();
}
}
protected void Delete_Click(object sender, EventArgs e)
{
string RowID = "";

foreach (GridViewRow myrow in GridView1.Rows)
{

CheckBox ChkSelect = (CheckBox)myrow.Cells[0].FindControl("ChkSelect");
if (ChkSelect.Checked)
RowID += GridView1.DataKeys[myrow.RowIndex].Value.ToString() + ",";
}

if (RowID.Length != 0)
RowID = RowID.Remove(RowID.Length - 1);

RemoveData(RowID);
BindGrid();
}
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
ForeColor="#333333" DataKeyNames="MsgID">
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label10" runat="server" Text='<%# Bind("MsgID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="ChkSelect" runat="server" AutoPostBack="True" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkSelect" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="پیام" SortExpression="Message">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Message") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Message") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
<asp:Button ID="Delete" runat="server" OnClick="Delete_Click" Text="حذف" />
کد های بالا موارد انتخاب شده را از گرید حذف میکنه شما باید id موارد که انتخاب شده را به یه تابع selecton بدین که نام موارد که میخواهد بیاره و بد یک
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
به صورت داینامیک بیاید