改变datagrid的样式
来源:互联网 发布:js 将字母转化成数字 编辑:程序博客网 时间:2024/06/08 19:45
/// <summary>
/// 设置Datagrid的列样式
/// </summary>
/// <param name="dt">System.Data.DataTable</param>
/// <param name="grid">DataGrid</param>
static public void SetGridColumn(System.Data.DataTable dt,DataGrid grid)
{
ArrayList ArrLst = new ArrayList();
foreach(DataColumn dc in dt.Columns)
{
if(dc.ColumnName.IndexOf("ID")< 0 )
{
ArrLst.Add(dc.ColumnName);
}
}
DataGridTableStyle ts1 = new DataGridTableStyle();
ts1 = WinUI.CreateGridColumnStyles(dt,ArrLst,PubObj.DefaultQuantityScale
,PubObj.DefaultPriceScale,PubObj.DefaultMoneyScale,PubObj.DefaultOtherScale);
((DataGrid)grid).TableStyles.Clear();
ts1.GridLineColor = System.Drawing.Color.Black;
//ts1.BackColor = Color.SeaGreen;
//ts1.AlternatingBackColor =Color.CadetBlue;// Color.Beige;//Color.Bisque;
ts1.ForeColor = Color.Black;
ts1.SelectionBackColor = Color.BlueViolet;
ts1.SelectionForeColor = Color.White;
//ts1.RowHeadersVisible=false;
ts1.AllowSorting=true;
ts1.RowHeaderWidth = 15;
((DataGrid)grid).TableStyles.Add(ts1);
for(int i = 0; i < ((DataGrid)grid).TableStyles[0].GridColumnStyles.Count; i++)
{
((DataGrid)grid).TableStyles[0].GridColumnStyles[i].NullText = "";
}
grid.CaptionText = StrConv(grid.CaptionText);
}
static public DataGridTableStyle CreateGridColumnStyles(System.Data.DataTable dt,
ArrayList DisplayFieldName,
int QuatiScale, int PriceScale,
int MoneyScale, int OtherScale
)
{
DataGridTableStyle dts1 = new DataGridTableStyle();
dts1.MappingName = dt.TableName;
object ty = new object();
for (int i = 0; i < DisplayFieldName.Count; i++)
{
ty = dt.Columns[DisplayFieldName[i].ToString()].DataType;
if(ty.ToString() == "System.Boolean") //如果是 Boolean类型字段
{
DataGridBoolColumn dataTbColumn = new DataGridBoolColumn();
dataTbColumn.NullValue = false;
//如果该字段的 Caption 为空
if(dt.Columns[DisplayFieldName[i].ToString()].Caption == "")
{
dataTbColumn.HeaderText = StrConv(DisplayFieldName[i].ToString());
}
else //如果该字段的 Caption 不为空
{
dataTbColumn.HeaderText = StrConv(dt.Columns[DisplayFieldName[i].ToString()].Caption);
}
dataTbColumn.MappingName = DisplayFieldName[i].ToString();
dts1.GridColumnStyles.Add(dataTbColumn);
}
else //如果是非 Boolean类型字段
{
//DataGridTextBoxColumn dataTbColumn = new DataGridTextBoxColumn();
DataGridColorTextBoxColumn dataTbColumn = new DataGridColorTextBoxColumn(dt.DefaultView);
if(dt.Columns[DisplayFieldName[i].ToString()].Caption == "")
{
dataTbColumn.HeaderText = StrConv(DisplayFieldName[i].ToString());
}
else
{
dataTbColumn.HeaderText = StrConv(dt.Columns[DisplayFieldName[i].ToString()].Caption);
}
dataTbColumn.MappingName = DisplayFieldName[i].ToString ();
if((DisplayFieldName[i].ToString().IndexOf("规格") >= 0 ))
{
dataTbColumn.Alignment = HorizontalAlignment.Center;
}
if ((ty.ToString() == "System.Decimal") || (ty.ToString() == "System.Double"))
{
dataTbColumn.Alignment =HorizontalAlignment.Right;
if(DisplayFieldName[i].ToString().IndexOf("数量") >= 0)
{
dataTbColumn.Format = IntToFormatStr(QuatiScale);
}
else
if((DisplayFieldName[i].ToString().IndexOf("金额") >= 0 )
)
{
dataTbColumn.Format = IntToFormatStr(PriceScale);
}
if((DisplayFieldName[i].ToString().IndexOf("单价") >= 0 )
||(DisplayFieldName[i].ToString().IndexOf("折扣") >= 0))
{
dataTbColumn.Format = IntToFormatStr(3);
}
}
switch(DisplayFieldName[i].ToString())
{
case "单位":
dataTbColumn.Width=32;
break;
case "币种":
case "汇率":
case "折扣":
dataTbColumn.Width=48;
break;
case "数量":
case "单价":
case "金额":
case "本位币金额":
case "本位币单价":
dataTbColumn.Width=80;
break;
case "货品名称":
case "项目名称":
case "客户名称":
case "客户":
dataTbColumn.Width=192;
break;
case "实收单价":
case "实收金额":
case "实收折扣":
case "折后金额":
dataTbColumn.Width=80;
break;
}
dts1.GridColumnStyles.Add(dataTbColumn);
}
}
return(dts1);
}
- 改变datagrid的样式
- 改变DataGrid分页栏的样式
- 对于分页导航栏样式的改变(本文以DataGrid作为例子)
- 改变 file 的 样式
- 改变file的样式
- 改变网站的样式
- 改变Alert的样式
- 改变title的样式
- 改变actionbar的样式
- 改变链接的样式
- 改变Dialog的样式
- DatePickerDialog的样式改变
- ToggleButton样式的改变
- 改变datagrid的背景色
- EasyUI中datagrid的样式
- EasyUI中datagrid的样式
- WPF 设置DataGrid 鼠标移动改变行颜色样式
- js改变class的样式
- 关于javascript的调试
- Spring使用tomcat连接oracle的数据库连接池
- java try语句块 finally和return 的执行顺序
- Visual Studio 2005 的101个示例下载
- JAVA中金额的中文大写方式
- 改变datagrid的样式
- RFC2384
- RFC2192
- 谈谈我对攻读计算机研究生的看法
- 青港风雨之罗雨琦(三)天降贵人,福惜雨琦
- Server configuration denies access to data source问题的解决
- 今天上网下载了个Discuz! Board,费了半天时间终于安上了,可惜我是内网,外面无法访问。
- test
- Spring +ibatis + oracle存储过程调试