天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

asp.net IList查詢數據后格式化數據再綁定控件

一、先講最基本的 DataSet綁定操作,GridView為例。
當操作查詢得一個 DataSet ds 后,可以進行一些數據的格式化,如:
復制代碼 代碼如下:
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr["Depth"].ToString() != "1")
{
dr["ColumnName"] = StringHelper.StringOfChar(Convert.ToInt32(dr["Depth"]) - 1, " ") + "├ " + dr["ColumnName"];
}
}
GridView1.DataSource = ds;
GridView1.DataBind();

復制代碼 代碼如下:
public static class StringHelper
{
/// <summary>
/// 生成指定長度的字符串,即生成strLong個str字符串
/// </summary>
/// <param name="strLong">生成的長度</param>
/// <param name="str">以str生成字符串</param>
/// <returns></returns>
public static string StringOfChar(int strLong, string str)
{
string ReturnStr = "";
for (int i = 0; i < strLong; i++)
{
ReturnStr += str;
}
return ReturnStr;
}
/// <summary>
/// 生成日期隨機碼
/// </summary>
/// <returns></returns>
public static string GetRamCode()
{
#region
return DateTime.Now.ToString("yyyyMMddHHmmssffff");
#endregion
}
}

像這樣很快就能進行一些數據的格式化并綁定到控件了。
二、現在講下我主要想講的內容,如果我們用Ilist 查詢得數據后,想格式化一些字符串,以達到自己想要的顯示效果,我們該怎么辦呢?先看下效果圖再給您答案。

 
比如我們在做無限分類的時候 往往想讓數據如上圖所顯示,我們又該怎么做呢。
剛上讓面的DataSet寫了些格式化代碼,現在相信大家都想知道Ilist又該怎么操作對吧?
泛型的功能 強大我在這里就不說了,現在說重點,主要有兩種方法實現,
一,把Ilist得的數據轉為 DataSet的,這樣你又可以重新回到熟悉的操作了
IList 轉 DataSet 類(這個是我引用別人的 ^ ^)

復制代碼 代碼如下:
public static DataSet ConvertToDataSet<T>(IList<T> list)
{
if (list == null || list.Count <= 0)
{
return null;
}
DataSet ds = new DataSet();
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row;
System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
foreach (T t in list)
{
if (t == null)
{
continue;
}
row = dt.NewRow();
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
string name = pi.Name;
if (dt.Columns[name] == null)
{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
}
row[name] = pi.GetValue(t, null);
}
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
return ds;
}

然后
復制代碼 代碼如下:
DataSet ds = ConvertToDataSet(b.ListColumn());

看,又回來熟悉的操作了吧,但是,這樣做我們啟不是走彎路了,為啥不直接用 DataSet就得了?沒錯,我們走彎路了............我想用 IList啊,不想轉來轉去的,難道就沒有好的辦法?
哈哈,答案肯定是有的,也是最簡單的,往往是初學的朋友不懂解IList才現在種種疑惑,
現在講IList 對象類的操作
還是上面的例子
比如當查詢得一個
復制代碼 代碼如下:
BLL b = new BLL();
b.ListColumn();

我們要綁定上圖所示的只需這樣做

復制代碼 代碼如下:
IList<Qzzm.Model.ColumnInfo> list = new List<Qzzm.Model.ColumnInfo>();
foreach (Qzzm.Model.ColumnInfo m in b.ListColumn())
{
if (m.Depth.ToString() != "1")
{
m.ColumnName = StringHelper.StringOfChar(Convert.ToInt32(m.Depth) - 1, " ") + "├ " + m.ColumnName + "<br>";
}
list.Add(m);
}
DataList1.DataSource = list;
DataList1.DataBind();

StringHelper還是上面的那個。經過這樣的簡單處理,我們就可以格式化 欄目名稱了再分下DataList的綁定效果圖,完畢!算是菜鳥與菜鳥之間的交流吧。

AspNet技術asp.net IList查詢數據后格式化數據再綁定控件,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成年人视频免费在线观看 | 性绞姿始动作动态图 | 日本 稀土矿 | 亚洲免费无码中文在线亚洲在 | 久久不卡免费视频 | 日韩av片无码一区二区不卡电影 | 91久久线看在观草草青青 | 国产精品99久久免费黑人人妻 | 亚洲熟妇无码乱子AV电影 | 日本久久道一区二区三区 | 最近中文字幕完整版免费 | 欧美亚洲另类热图 | 最近中文字幕2019免费版日本 | 年轻漂亮的妺妺中文字幕版 | 蜜柚影院在线观看免费高清中文 | 试看2分钟AA片 | 撅高 自己扒开 调教 | 色妹子综合| 日本午夜精品久久久无码 | 伊人久久大香线蕉电影院 | 亚洲午夜性春猛交XXXX | 又黄又肉到湿的爽文 | 亚洲中文字幕一二三四区苍井空 | 伊人久久丁香色婷婷啪啪 | 性色AV一区二区三区V视界影院 | 亚洲一区免费观看 | 国产午夜精品理论片 | 蜜桃视频一区二区 | 亚洲青青青网伊人精品 | 免费国产成人 | 男人团apk| 亚洲精品电影天堂网 | 成年人免费在线视频观看 | 午夜在线观看免费完整直播网 | 午夜性爽视频男人的天堂在线 | 拍床戏被肉高H纯肉H在水 | 亚洲精品日韩在线观看视频 | 欧美群交XXXCOM | 午夜AV内射一区二区三区红桃视 | 亚洲精品无码国产爽快A片 亚洲精品无码成人AAA片 | 菊地凛子av|