当前位置:首页 > 数据库 > 正文

gridcontrol设置某行的颜色(gridcontrol获取选中行值)

gridcontrol设置某行的颜色(gridcontrol获取选中行值)

大家好,如果您还对gridcontrol设置某行的颜色不太了解,没有关系,今天就由本站为大家分享gridcontrol设置某行的颜色的知识,包括gridcontrol获...

大家好,如果您还对gridcontrol设置某行的颜色不太了解,没有关系,今天就由本站为大家分享gridcontrol设置某行的颜色的知识,包括gridcontrol获取选中行值的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

谁知道flash的所有快捷键啊~

1.很难一个人知道Flash的所有快捷键。因为Flash的快捷键是非常多的,而且也涉及到一些操作技巧和功能扩展,每个人掌握程度不同。2.对于学习Flash的人来说,对重要和常用的快捷键进行深入掌握就可以很好地提高工作效率和操作水平。3.在学习过程中,我们可以逐渐掌握常用的快捷键,通过不断的练习和应用,提高自己的技能水平,从而更好的使用Flash软件实现自己的创意设计。

DevExpress中如何实现GridControl的分页功能

加入两个组件:BindingNavigator和BindingSource

技术分享

技术分享

代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Data.SqlClient;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Linq;

usingSystem.Threading.Tasks;

usingSystem.Windows.Forms;

usingDevExpress.XtraEditors;

usingDZAMS.DBUtility;

namespaceDZAMS.Demo

{

publicpartialclassGridPage_Frm:DevExpress.XtraEditors.XtraForm

{

publicDataTabledt=newDataTable();

StoreProceduresp;

privateintpageSize=10;//每页显示行数

privateintnMax=0;//总记录数

privateintpageCount=0;//页数=总记录数/每页显示行数

privateintpageCurrent=0;//当前页号

privateDataSetds=newDataSet();

privateDataTabledtInfo=newDataTable();

publicGridPage_Frm()

{

InitializeComponent();

}

privatevoidGridPage_Frm_Load(objectsender,EventArgse)

{

stringstrQuery=string.Format("SELECTId,UserCode,UserName,RoleName,Ip,Mac,LoginTimeFROMDZ_LoginLog");

dt=SqlHelper.ExecuteDataset(SqlHelper.conn,CommandType.Text,strQuery.ToString()).Tables[0];

gridControl1.DataSource=dt;

stringstrConn="SERVER=(local);DATABASE=DZ;UID=sa;PWD=XXXX";//数据库连接字符串

SqlConnectionconn=newSqlConnection(strConn);

conn.Open();

stringstrSql="SELECTcount(*)asnumFROMDZ_LoginLog";

SqlDataAdaptersda=newSqlDataAdapter(strSql,conn);

sda.Fill(ds,"ds");

conn.Close();

nMax=Convert.ToInt32(ds.Tables[0].Rows[0]["num"].ToString());

lblTotalCount.Text=nMax.ToString();

lblPageSize.Text=pageSize.ToString();

sp=newStoreProcedure("Pr_Monitor_Pagination",strConn);

dtInfo=sp.ExecuteDataTable("DZ_LoginLog","Id","Iddesc",pageCurrent++,pageSize);

InitDataSet();

}

privatevoidInitDataSet()

{

pageCount=(nMax/pageSize);//计算出总页数

if((nMax%pageSize)>0)pageCount++;

pageCurrent=1;//当前页数从1開始

LoadData();

}

privatevoidLoadData()

{

lblPageCount.Text="/"+pageCount.ToString();

txtCurrentPage.Text=Convert.ToString(pageCurrent);

this.bdsInfo.DataSource=dtInfo;

this.bdnInfo.BindingSource=bdsInfo;

this.gridControl1.DataSource=bdsInfo;

}

privatevoidbdnInfo_ItemClicked(objectsender,ToolStripItemClickedEventArgse)

{

if(e.ClickedItem.Text=="导出当前页")

{

SaveFileDialogsaveFileDialog=newSaveFileDialog();

saveFileDialog.Title="导出Excel";

saveFileDialog.Filter="Excel文件(*.xls)|*.xls";

DialogResultdialogResult=saveFileDialog.ShowDialog(this);

if(dialogResult==DialogResult.OK)

{

DevExpress.XtraPrinting.XlsExportOptionsoptions=newDevExpress.XtraPrinting.XlsExportOptions();

gridControl1.ExportToXls(saveFileDialog.FileName,options);

//gridControl1.ExportToExcelOld(saveFileDialog.FileName);

DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

if(e.ClickedItem.Text=="关闭")

{

this.Close();

}

if(e.ClickedItem.Text=="首页")

{

pageCurrent--;

if(pageCurrent<=0)

{

MessageBox.Show("已经是首页。请点击“下一页”查看!");

return;

}

else

{

pageCurrent=1;

dtInfo=sp.ExecuteDataTable("DZ_LoginLog","Id","Iddesc",pageCurrent,pageSize);

}

}

if(e.ClickedItem.Text=="上一页")

{

pageCurrent--;

if(pageCurrent<=0)

{

MessageBox.Show("已经是第一页,请点击“下一页”查看!");

return;

}

else

{

dtInfo=sp.ExecuteDataTable("DZ_LoginLog","Id","Iddesc",pageCurrent,pageSize);

}

}

if(e.ClickedItem.Text=="下一页")

{

pageCurrent++;

if(pageCurrent>pageCount)

{

MessageBox.Show("已经是最后一页。请点击“上一页”查看。");

return;

}

else

{

dtInfo=sp.ExecuteDataTable("DZ_LoginLog","Id","Iddesc",pageCurrent,pageSize);

}

}

if(e.ClickedItem.Text=="尾页")

{

pageCurrent++;

if(pageCurrent>pageCount)

{

MessageBox.Show("已经是尾页,请点击“上一页”查看。");

return;

}

else

{

pageCurrent=pageCount;

dtInfo=sp.ExecuteDataTable("DZ_LoginLog","Id","Iddesc",pageCount,pageSize);

}

}

LoadData();

}

}

}

StoreProcedure类:

publicclassStoreProcedure

{

//存储过程名称。

privatestring_name;

//数据库连接字符串。

privatestring_conStr;

//构造函数

//sprocName:存储过程名称;

//conStr:数据库连接字符串。

publicStoreProcedure(stringsprocName,stringconStr)

{

_conStr=conStr;

_name=sprocName;

}

//运行存储过程,不返回值。

//paraValues:參数值列表。

//return:void

publicvoidExecuteNoQuery(paramsobject[]paraValues)

{

using(SqlConnectioncon=newSqlConnection(_conStr))

{

SqlCommandcomm=newSqlCommand(_name,con);

comm.CommandType=CommandType.StoredProcedure;

AddInParaValues(comm,paraValues);

con.Open();

comm.ExecuteNonQuery();

con.Close();

}

}

//运行存储过程返回一个表。

//paraValues:參数值列表。

//return:DataTable

publicDataTableExecuteDataTable(paramsobject[]paraValues)

{

SqlCommandcomm=newSqlCommand(_name,newSqlConnection(_conStr));

comm.CommandType=CommandType.StoredProcedure;

AddInParaValues(comm,paraValues);

SqlDataAdaptersda=newSqlDataAdapter(comm);

DataTabledt=newDataTable();

sda.Fill(dt);

returndt;

}

//运行存储过程。返回SqlDataReader对象。

//在SqlDataReader对象关闭的同一时候。数据库连接自己主动关闭。

//paraValues:要传递给给存储过程的參数值类表。

//return:SqlDataReader

publicSqlDataReaderExecuteDataReader(paramsobject[]paraValues)

{

SqlConnectioncon=newSqlConnection(_conStr);

SqlCommandcomm=newSqlCommand(_name,con);

comm.CommandType=CommandType.StoredProcedure;

AddInParaValues(comm,paraValues);

con.Open();

returncomm.ExecuteReader(CommandBehavior.CloseConnection);

}

//获取存储过程的參数列表。

privateArrayListGetParas()

{

SqlCommandcomm=newSqlCommand("dbo.sp_sproc_columns_90",

newSqlConnection(_conStr));

comm.CommandType=CommandType.StoredProcedure;

comm.Parameters.AddWithValue("@procedure_name",(object)_name);

SqlDataAdaptersda=newSqlDataAdapter(comm);

DataTabledt=newDataTable();

sda.Fill(dt);

ArrayListal=newArrayList();

for(inti=0;i<dt.Rows.Count;i++)

{

al.Add(dt.Rows[i][3].ToString());

}

returnal;

}

//为SqlCommand加入參数及赋值。

privatevoidAddInParaValues(SqlCommandcomm,paramsobject[]paraValues)

{

comm.Parameters.Add(newSqlParameter("@RETURN_VALUE",SqlDbType.Int));

comm.Parameters["@RETURN_VALUE"].Direction=

ParameterDirection.ReturnValue;

if(paraValues!=null)

{

ArrayListal=GetParas();

for(inti=0;i<paraValues.Length;i++)

{

comm.Parameters.AddWithValue(al[i+1].ToString(),

paraValues[i]);

}

}

}

}

存储过程:

ALTERprocedure[dbo].[Pr_Monitor_Pagination]

--===============================================Paging===============================================

--Author: Lee

--Createdate:2010\06\11

--Parameter:

-- 1.Tables:TheNameOfTableorview

-- 2.PrimaryKey:PrimaryKey

-- 3.Sort:OrderingStatement,WithoutOrderBy,ForExample:NewsIDDesc,OrderRowsAsc

-- 4.CurrentPage:ThePageNumberOfCurrentpage

-- 5.PageSize:TheSizeOfOnePage‘sGroup

-- 6.Fields:TheFieldOfYouNeeded

-- 7.Filter:WhereCondition,WithoutWhere

-- 8.Group:GroupCondition。WithoutGroupBy

-- 9.GetCount:ReturnTheNumberOfAll,NotZero

--Updates:

-- 2010\06\09CreateProcedure.

--========================================================================================================

@Tablesvarchar(600),

@PrimaryKeyvarchar(100),

@Sortvarchar(200)=null,

@CurrentPagebigint=1,

@PageSizebigint=10,

@Fieldsvarchar(1000)=‘*‘,

@Filtervarchar(1000)=null,

@Groupvarchar(1000)=null,

@GetCountbit=0

as

if(@GetCount=0)

begin

/*OrderingOfDefault*/

if@Sortisnullor@Sort=‘‘

set@Sort=@PrimaryKey

declare@SortTablevarchar(100)

declare@SortNamevarchar(100)

declare@strSortColumnvarchar(200)

declare@operatorchar(2)

declare@typevarchar(100)

declare@precint

/*SettingConditionOfOrdering*/

ifcharindex(‘desc‘,@Sort)>0

begin

set@strSortColumn=replace(@Sort,‘desc‘,‘‘)

set@operator=‘<=‘

end

else

begin

ifcharindex(‘asc‘,@Sort)=0

set@strSortColumn=replace(@Sort,‘asc‘,‘‘)

set@operator=‘>=‘

end

ifcharindex(‘.‘,@strSortColumn)>0

begin

set@SortTable=substring(@strSortColumn,0,charindex(‘.‘,@strSortColumn))

set@SortName=substring(@strSortColumn,charindex(‘.‘,@strSortColumn)+1,len(@strSortColumn))

end

else

begin

set@SortTable=@Tables

set@SortName=@strSortColumn

end

select@type=t.name,@prec=c.precfromsysobjectsojoinsyscolumnscono.id=c.idjoinsystypestonc.xusertype=t.xusertypewhereo.name=@SortTableandc.name=@SortName

ifcharindex(‘char‘,@type)>0

set@type=@type+‘(‘+cast(@precasvarchar)+‘)‘

declare@strPageSizevarchar(50)

declare@strStartRowvarchar(50)

declare@strFiltervarchar(1000)

declare@strSimpleFiltervarchar(1000)

declare@strGroupvarchar(1000)

/*CurrentPageOfDefault*/

if@CurrentPage<1

set@CurrentPage=1

/*SettingPagingparam*/

set@strPageSize=cast(@PageSizeasvarchar(50))

set@strStartRow=cast(((@CurrentPage-1)*@PageSize+1)asvarchar(50))

/*ConditionOfFilterAndGroup*/

if@Filterisnotnulland@Filter!=‘‘

begin

set@strFilter=‘where‘+@Filter+‘‘

set@strSimpleFilter=‘and‘+@Filter+‘‘

end

else

begin

set@strSimpleFilter=‘‘

set@strFilter=‘‘

end

if@Groupisnotnulland@Group!=‘‘

set@strGroup=‘groupby‘+@Group+‘‘

else

set@strGroup=‘‘

exec(‘declare@SortColumn‘+@type+‘setRowCount‘+@strStartRow+‘select@SortColumn=‘+@strSortColumn+‘from‘+@Tables+@strFilter+‘‘+@strGroup+‘Orderby‘+@Sort+‘setrowcount‘+@strPageSize+‘select‘+@Fields+‘from‘+@Tables+‘where‘+@strSortColumn+@operator+‘@SortColumn‘+@strSimpleFilter+‘‘+@strGroup+‘Orderby‘+@Sort+‘‘)

end

else

begin

declare@strSQLvarchar(5000)

if@Filter!=‘‘

set@strSQL=‘selectcount(‘+@PrimaryKey+‘)asTotalfrom[‘+@Tables+‘]where‘+@Filter

else

set@strSQL=‘selectcount(‘+@PrimaryKey+‘)asTotalfrom[‘+@Tables+‘]‘

exec(@strSQL)

end

效果:

技术分享

bnc语料库如何对索引行随机抽取

//声明ColumnView对象varcolumnView=(ColumnView)gridControl1.FocusedView;//得到选中的行索引intfocusedhandle=columnView.FocusedRowHandle;

经纬网标注怎么设置

在地图制作中,经纬网标注是非常重要的一部分,可以帮助用户更好地理解地图上的位置和方向。以下是在Mapinfo中设置经纬网标注的步骤:

打开Mapinfo软件,打开需要添加经纬网标注的地图文件。

在菜单栏中选择“Map”>“CreateGrid”>“Lat/LongGraticule”(或者直接使用快捷键Ctrl+G)。

在弹出的“Lat/LongGraticule”对话框中,选择需要设置的经纬网参数,例如网格间距、标注字体、颜色等。

点击“OK”按钮,系统会自动在地图上添加经纬网标注。

如果需要修改经纬网标注的样式或位置,可以在菜单栏中选择“Map”>“LayerControl”,然后选择经纬网图层进行编辑。

在图层编辑界面中,可以修改经纬网标注的字体、颜色、大小等属性,也可以通过拖动图层来调整经纬网标注的位置。

修改完成后,点击“保存”按钮即可保存修改后的地图文件。

以上就是在Mapinfo中设置经纬网标注的步骤,希望对您有所帮助。

PostgreSQL与MySQL相比,优势何在

PostgreSQL类似于Oracle的多进程框架,可以支持高并发的应用场景。

如果把OracleDBA转到PostgreSQL数据库上是比较容易的,毕竟PostgreSQL数据库与Oracle数据库很相似。

PostgreSQL几乎支持所有的SQL标准,支持类型相当丰富。PostgreSQL数据库的源代码要比MySQL数据库的源代码更容易读懂,如果团队的C语言能力比较强的话,就可以在PostgreSQL数据库上做开发,比方说实现类似greenplum的系统,这样也能与现在的分布式趋势接轨。

为了说明PostgreSQL的功能,下面从“从Oracle迁移到Mysql之前必须知道的50件事”简要对比一下PostgreSQL数据库与MySQL数据库之间的差异。

从Oracle迁移到Mysql会面对的50件难事

1、对子查询的优化表现不佳。(PostgreSQL可解决)

2、对复杂查询的处理较弱。(PostgreSQL可解决)

3、查询优化器不够成熟。(PostgreSQL可解决)

PostgreSQL完全支持SQL-92标准,对SQL的支持也很全面,可以支持复杂的SQL查询。

4、性能优化工具与度量信息不足。(PostgreSQL可解决)

PostgreSQL提供了执行计划和详细的cost值,可以方便看到SQL的执行效率。

5、审计功能相对较弱。

6、安全功能不成熟,没有用户组与角色的概念,没有回收权限的功能(仅可以授予权限)。当一个用户从不同的主机/网络以同样的用户名/密码登录之后,可能被当作完全不同的用户来处理,没有类似于Oracle的内置的加密功能。

7、身份验证功能是完全内置的,不支持LDAP、ActiveDirectory或其它类似的外部身份验证功能。

8、MysqlCluster可能与你想象的有较大差异。

9、存储过程与触发器的功能有限。(PostgreSQL可解决)

PostgreSQL提供了完善的存储过程和触发器支持。

10、垂直扩展性较弱。

11、不支持MPP(大规模并行处理)。(PostgreSQL可解决)

PostgreSQL是类似Oracle数据库的多进程架构,而不像MySQL是多线程的架构,所以能支持MPP。

12、支持SMP(对称多处理器),但是如果每个处理器超过4或8个核(core)时,Mysql的扩展性表现较差。

13、对于时间、日期、间隔等时间类型没有秒以下级别的存储类型。

14、可用来编写存储过程、触发器、计划事件以及存储函数的语言功能较弱。

15、没有基于回滚(roll-back)的恢复功能,只有前滚(roll-forward)的恢复功能。

16、不支持快照功能。

17、不支持数据库链(databaselink)。有一种叫做Federated的存储引擎可以作为一个中转将查询语句传递到远程服务器的一个表上,不过,它功能很粗糙并且漏洞很多。

18、数据完整性检查非常薄弱,即使是基本的完整性约束,也往往不能执行。(PostgreSQL可解决)

PostgreSQL提供完善的数据完整性检查机制,支持外键。

19、优化查询语句执行计划的优化器提示非常少。

20、只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-mergejoin)与散列连接(hashjoin)。(PostgreSQL可解决)

PostgreSQL则支持这些表连接类型。

21、大部分查询只能使用表上的单一索引;在某些情况下,会存在使用多个索引的查询,但是查询优化器通常会低估其成本,它们常常比表扫描还要慢。(PostgreSQL可解决)

PostgreSQL数据不存在这个问题,假设表T的两个字段col1的col2上有两个索引,idx_1和idx_2,那么select*fromtwherecol1=:aandcol2=:b;查询时,PostgreSQL数据库有可能把这个查询转化为select*fromtwherecol1=:aintersectselect*fromtwherecol2=:b,这样两个索引都可以使用上。

22、不支持位图索引(bitmapindex)。每种存储引擎都支持不同类型的索引。大部分存储引擎都支持B-Tree索引。

23、管理工具较少,功能也不够成熟。

24、没有成熟能够令人满意的IDE工具与调试程序。可能不得不在文本编辑器中编写存储过程,并且通过往表(调试日志表)中插入记录的方式来做调试。

25、每个表都可以使用一种不同的存储引擎。(PostgreSQL可解决)

26、每个存储引擎在行为表现、特性以及功能上都可能有很大差异。(PostgreSQL可解决)

27、大部分存储引擎都不支持外键。(PostgreSQL可解决)

28、默认的存储引擎(MyISAM)不支持事务,并且很容易损坏。(PostgreSQL可解决)

29、最先进最流行的存储引擎InnoDB由Oracle拥有。(PostgreSQL可解决)

30、有些执行计划只支持特定的存储引擎。特定类型的Count查询,在这种存储引擎中执行很快,在另外一种存储引擎中可能会很慢。(PostgreSQL可解决)

PostgreSQL只有一种存储引擎,所以不存在上面的情况。而PostgreSQL支持完善的事务。

31、执行计划并不是全局共享的,,仅仅在连接内部是共享的。

32、全文搜索功能有限,只适用于非事务性存储引擎。Ditto用于地理信息系统/空间类型和查询。(PostgreSQL可解决)

PostgreSQL数据库支持全文搜索,支持更多类型的索引,如B-tree,R-tree,Hash,GiST,GIN,R-tree,GIST,GIN索引可用于空间类型和查询。

33、没有资源控制。一个完全未经授权的用户可以毫不费力地耗尽服务器的所有内存并使其崩溃,或者可以耗尽所有CPU资源。

34、没有集成商业智能(businessintelligence),OLAP**数据集等软件包。

35、没有与GridControl类似的工具

36、没有类似于RAC的功能。如果你问”如何使用Mysql来构造RAC”,只能说你问错了问题。

37、不支持用户自定义类型或域(domain)。(PostgreSQL可解决)

PostgreSQL支持丰富的类型,同时也支持自定义类型。

38、每个查询支持的连接的数量最大为61。

39、MySQL支持的SQL语法(ANSISQL标准)的很小一部分。不支持递归查询、通用表表达式(Oracle的with语句)或者窗口函数(分析函数)。支持部分类似于Merge或者类似特性的SQL语法扩展,不过相对于Oracle来讲功能非常简单。(PostgreSQL可解决)

这些PostgreSQL数据库都支持,如窗口函数。

40、不支持功能列(基于计算或者表达式的列,Oracle11g开始支持计算列,以及早期版本就支持虚列(rownum,rowid))。

41、不支持函数索引,只能创建基于具体列的索引。(PostgreSQL可解决)

PostgreSQL支持函数索引。

42、不支持物化视图。

43、不同的存储引擎之间,统计信息差别很大,并且所有的存储引擎支持的统计信息都只支持简单的基数(cardinality)与一定范围内的记录数(rows-in-a-range)。换句话说,数据分布统计信息是有限的。更新统计信息的机制也不多。

44、没有内置的负载均衡与故障切换机制。

45、复制(Replication)功能是异步的,并且有很大的局限性。例如,它是单线程的(single-threaded),因此一个处理能力更强的Slave的恢复速度也很难跟上处理能力相对较慢的Master。

46、Cluster并不如想象的那么完美。或许我已经提过这一点,但是这一点值得再说一遍。

47、数据字典(INFORMATION_SCHEMA)功能很有限,并且访问速度很慢(在繁忙的系统上还很容易发生崩溃)。

48、不支持在线的AlterTable操作。

49、不支持Sequence。(PostgreSQL可解决)

PostgreSQL支持sequence。

50、类似于ALTERTABLE或CREATETABLE一类的操作都是非事务性的。它们会提交未提交的事务,并且不能回滚也不能做灾难恢复。Schame被保存在文件系统上,这一点与它使用的存储引擎无关。(PostgreSQL可解决)

PostgreSQL不存在这个问题。

每种数据库都有不同的应用场景PostgreSQL具备了更高的可靠性,对数据一致性、完整性的支持高于MySQL,因此PostgreSQL更加适合严格的企业应用场景,MySQL查询速度较快,更适合业务逻辑相对简单、数据可靠性要求较低的互联网场景。

以上个人浅见,欢迎批评指正。

认同我的看法,请点个赞再走,感谢!

喜欢我的,请关注我,再次感谢!

关于gridcontrol设置某行的颜色的内容到此结束,希望对大家有所帮助。

最新文章