在菜单选择上动态更改gridview标题文本 [英] Dynamically change gridview header text on menu selection
本文介绍了在菜单选择上动态更改gridview标题文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨..
i我的主菜单上有我的菜单
每个菜单都链接到同一个儿童网页表格
hi..
i am having my menu on my Master page
each menu is linked to same Child web form
<div>
<ul>
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A1" href="MasterDataList.aspx?Reportid=1">Manage Country</a></li><br />
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A2" href="MasterDataList.aspx?Reportid=2">Manage User Type</a></li><br />
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A3" href="MasterDataList.aspx?Reportid=3">Manage User</a></li><br />
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A4" href="MasterDataList.aspx?Reportid=4">User Authorization</a></li><br />
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A5" href="MasterDataList.aspx?Reportid=5">Product Maintenence</a></li><br />
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A6" href="MasterDataList.aspx?Reportid=6">Manage Product Group</a></li><br />
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A7" href="MasterDataList.aspx?Reportid=7">Manage Product Assortment</a></li><br />
<li style="border-left: 5px solid gray;margin-left:5px;"><a id="A8" href="MasterDataList.aspx?Reportid=8">Manage Product Family</a></li><br />
</ul>
</div>
因此我需要知道如何根据选择的不同主人动态添加标题文本
hence i need to know how can i add header text dynamically according to different masters selected
推荐答案
我找到了解决方案。 .... :)
此链接
http://www.c-sharpcorner.com/uploadfile/jayendra/how-to-create-dynamic-gridview-using-boundfield / [ ^ ]
第1步:你的.as px页面将如下所示:
I found the solution.....:)
its on this link
http://www.c-sharpcorner.com/uploadfile/jayendra/how-to-create-dynamic-gridview-using-boundfield/[^]
Step1: Your .aspx page will look like:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DynamicGridView.aspx.cs"
Inherits="DynamicGridView" %><!DOCTYPE html PUBLIC "
//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm
1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</div>
</form>
</body>
</html>
第2步:你的.cs页面如下:
Step 2 : Your .cs page looks like:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class DynamicGridView : System.Web.UI.Page
{
DataHelper helper = new DataHelper();
List<Employee> emplist = new List<Employee>();
protected void Page_Load(object sender, EventArgs e)
{
CreateGridView();
}
private void CreateGridView()
{
GridView gv = new GridView();
gv.ID = "EmployeeGridView";
gv.AutoGenerateColumns = false;
gv.AllowPaging = true;
gv.EnableViewState = true;
gv.PageSize = 10; // Default page Size
//Create EventHanfler for Paging.
gv.PageIndexChanging += new GridViewPageEventHandler(this.gv_PageIndexChanging);
helper = new DataHelper();
emplist = helper.GetEmployeeData();
DataTable dt = new DataTable();
if (emplist != null)
{
if (emplist.Count > 0)
{
dt = ListToDataTable(emplist);
//We convert List view to DataTable because we use the
DataTable Column Name as a GridView Column Header.
if (dt != null)
{
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
BoundField boundField = new BoundField();
boundField.DataField = dt.Columns[i].ColumnName.ToString();
boundField.HeaderText = dt.Columns[i].ColumnName.ToString();
gv.Columns.Add(boundField);
}
}
}
}
}
PlaceHolder1.Controls.Add(gv);
BindGridView(gv, dt);
}
private void BindGridView(GridView gv, DataTable dt)
{
gv.DataSource = dt;
gv.DataBind();
}
void gv_PageIndexChanging(Object sender, GridViewPageEventArgs e)
{
GridView gv = (GridView)sender;
gv.PageIndex = e.NewPageIndex;
helper = new DataHelper();
emplist = helper.GetEmployeeData();
DataTable dt = new DataTable();
if (emplist != null)
{
if (emplist.Count > 0)
{
dt = ListToDataTable(emplist);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
BindGridView(gv, dt);
}
}
}
}
}
//Convert List To DataTable.
static DataTable ListToDataTable<T>(IEnumerable<T> list)
{
var dt = new DataTable();
foreach (var info in typeof(T).GetProperties())
{
dt.Columns.Add(new DataColumn(info.Name, info.PropertyType));
}
foreach (var t in list)
{
var row = dt.NewRow();
foreach (var info in typeof(T).GetProperties())
{
row[info.Name] = info.GetValue(t, null);
}
dt.Rows.Add(row);
}
return dt;
}
}
这篇关于在菜单选择上动态更改gridview标题文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文