نمایش اطلاعات GridView درداخل یک Table مجزا

شنبه 30 بهمن 1395

در این مقاله نحوه نمایش دادن اطلاعات سطرهای انتخاب شده GridView توسط Asp.net به زبان سی شارپ آموزش داده می شود.

نمایش اطلاعات GridView درداخل یک Table مجزا

زبانه نشانه گذاری HTML

توسط کد های Html  درون پروژه Asp.net  یک  GridView  ایجاد میکنیم که شامل 2 ستونBoundFiled  می باشد:

یکBoundFiled   برای نمایش ID

یکBoundFiled   برای نمایش Name

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

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnSelectedIndexChanged="OnSelectedIndexChanged">
    <Columns>
        <asp:BoundField DataField="Id" HeaderText="Id" />
        <asp:BoundField DataField="Name" HeaderText="Name" />
        <asp:TemplateField HeaderText="Country" Visible="false">
            <ItemTemplate>
                <asp:Label ID="lblDescription" runat="server" Text='<%# Eval("Description") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:ButtonField Text="Select" CommandName="Select"/>
    </Columns>
</asp:GridView>
<br />
<u>Selected Row:</u>
<br />
<br />
<asp:FormView ID="FormView1" runat="server">
    <ItemTemplate>
        <table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td>
                    ID:
                </td>
                <td>
                    <%# Eval("Id") %>
                </td>
            </tr>
            <tr>
                <td>
                    Name:
                </td>
                <td>
                    <%# Eval("Name") %>
                </td>
            </tr>
            <tr>
                <td>
                    Description:
                </td>
                <td>
                    <%# Eval("Description") %>
                </td>
            </tr>
        </table>
    </ItemTemplate>
</asp:FormView>

: Namespace

شما برای نوشتن کد های برنامه به زبانC#  نیاز به Namespace زیر دارید

Using System .data;

برای مقدار دهی به  رکورد های GridView  از Datatable   استفاده میکنیم وبه آن مقادیری دلخواه میدهیم.

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        DataTable dt = new DataTable();
        dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)),
                    new DataColumn("Name", typeof(string)),
                    new DataColumn("Description",typeof(string)) });
        dt.Rows.Add(1, "Hossein Alizadeh", "Works as a scientist in USA.");
        dt.Rows.Add(2, "Saeed Mardani", "ASP.Net programmer and consultant in India.");
        dt.Rows.Add(3, "Akbar Elahi", "Content Writer in France.");
        dt.Rows.Add(4, "Mohsen Karimi", "Wild life photographer in Russia.");
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}

نحوه نمایش دادن اطلاعات سطر های انتخاب شده در GridView

هنگامی که  بر روی دکمه Select  کلیک میشود رویداد OnselectedindexChange  برای کنترل GridView  به اجرا در می آید.

سپس مقادیر Id , Name  به طور مستقیم از ستون  BoundField که ایجاد کردیم  انتخاب میشوند

سپس باید این اطلاعات را در داخل جدولی که برای نمایش مقادیر به صورت مجزا ایجاد کرده ایم نمایش دهیم برای این کار بصورت زیر عمل میکنیم

protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
    string id = GridView1.SelectedRow.Cells[0].Text;
    string name = GridView1.SelectedRow.Cells[1].Text;
    string description = (GridView1.SelectedRow.FindControl("lblDescription") as Label).Text;
 
    DataTable dt = new DataTable();
    dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)),
                    new DataColumn("Name", typeof(string)),
                    new DataColumn("Description",typeof(string)) });
    dt.Rows.Add(id, name, description);
    FormView1.DataSource = dt;
    FormView1.DataBind();
}

فایل های ضمیمه

morteza259

نویسنده 1 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید