当操作查询得一个 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的绑定效果图,完毕!算是菜鸟与菜鸟之间的交流吧。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]