DataWindow.NET 控件 在做c#winform 程序時候如何實現電擊列頭排序?
解决方案 »
- C#读取Excel表格的问题(只能读取19列)?
- 未能加载标题为[Method Override Stud]的代码段。请确认在代码段管理器中对重构代码段进行了识别,并且磁盘上的代码段文件有效。
- 请教RichTextBox的字体设置问题
- C# 如何自定义类型?
- 在线等待:如何使绑定数据表列的Combobox,不显示数据列中的空行?
- 请教高手,怎样显示图片
- WeifenLuo.WinFormsUI.Docking.DockContent 使用
- 关于DataGrid的问题,winform下的
- Isclever更换呢称,散分!
- 所有CSDN的网友都应该抵制最新一期的MVP评选活动!
- 关于mschart控件的问题!解决了一定给分!
- 用DataWindow.Net 2.0 開發的C#程序可否再Win98/me下運行?
{
try
{
if (this.ib_SetSort == true)
{
string ls_CurObj="", ls_CurCol="";
int li_LinePos=0;
int ll_CurRowNumber = 0;
ls_CurObj = dw_1.ObjectUnderMouse.Gob.Name; //得出objectName
ll_CurRowNumber = dw_1.ObjectUnderMouse.RowNumber; //得出当前Row //li_LinePos = Convert.ToInt32(dw_1.Describe(ls_CurObj + ".X")) + (Convert.ToInt32(dw_1.Describe(ls_CurObj + ".Width")) - 20);
if (dw_1.Describe(ls_CurObj + ".Band") == "header")
{
if (ll_CurRowNumber == 0 & dw_1.Describe(ls_CurObj + ".Text") != "!")
{
is_OrderCol = ls_CurObj.Substring(0, ls_CurObj.Length - 2); if (is_SortType == "A")
{
li_LinePos -= 20;
DataWindowSort(dw_1, li_LinePos, is_OrderCol, is_SortType);
is_SortType = "D";
}
else
{
DataWindowSort(dw_1, li_LinePos, is_OrderCol, is_SortType);
is_SortType = "A"; }
} } }
}
catch (Exception ex)
{
MessageBox.Show("排序错误!");
} finally
{ }
} private Boolean DataWindowSort( Sybase.DataWindow.DataWindowControl ad_DW, int ai_LinePos,string as_Colmun, string as_SortType) //排序的方法
{
try
{
//排序
ad_DW.SetSort(as_Colmun + " " + as_SortType);
ad_DW.Sort(); //销毁箭头图形
//ad_DW.Modify("destroy l_arrowLine_1");
//ad_DW.Modify("destroy l_arrowLine_2");
//ad_DW.Modify("destroy l_arrowLine_3"); //创建升序的箭头图形
string ls_AddLin;
switch (as_SortType)
{
case "A" :
//ls_AddLin = "create line(band=Foreground x1='" + Convert.ToString(ai_LinePos) + "' y1='24' x2='" + Convert.ToString(ai_LinePos - 50) + "' y2='24' name=l_arrowLine_1 pen.color='" + Color.FromArgb(0, 0, 0) + "')";
//ad_DW.Modify(ls_AddLin);
//ls_AddLin = "create line(band=Foreground x1='" + Convert.ToString(ai_LinePos + 5) + "' y1='24' x2='" + Convert.ToString(ai_LinePos - 27) + "' y2='52' name=l_arrowLine_3 pen.color='" + Color.FromArgb(255, 255, 255) + "')";
//ad_DW.Modify(ls_AddLin);
//ls_AddLin = "create line(band=Foreground x1='" + Convert.ToString(ai_LinePos - 50) + "' y1='24' x2='" + Convert.ToString(ai_LinePos - 23) + "' y2='48' name=l_arrowLine_2 pen.color='" + Color.FromArgb(0, 0, 0) + "')";
//ad_DW.Modify(ls_AddLin);
break;
case "D":
//ls_AddLin = "create line(band=Foreground x1='" + Convert.ToString(ai_LinePos) + "' y1='24' x2='" + Convert.ToString(ai_LinePos - 32) + "' y2='52' name=l_arrowLine_1 pen.color='" + Color.FromArgb(0, 0, 0) + "')";
//ad_DW.Modify(ls_AddLin);
//ls_AddLin = "create line(band=Foreground x1='" + Convert.ToString(ai_LinePos + 5) + "' y1='24' x2='" + Convert.ToString(ai_LinePos - 32) + "' y2='52' name=l_arrowLine_3 pen.color='" + Color.FromArgb(255, 255, 255) + "')";
//ad_DW.Modify(ls_AddLin);
//ls_AddLin = "create line(band=Foreground x1='" + Convert.ToString(ai_LinePos - 50) + "' y1='48' x2='" + Convert.ToString(ai_LinePos - 27) + "' y2='48' name=l_arrowLine_2 pen.color='" + Color.FromArgb(255, 255, 255) + "')";
//ad_DW.Modify(ls_AddLin);
break;
}
return true;
}
catch (Exception ex)
{
//MessageBox.Show("排序方法错误!");
return false;
} finally
{ }
}
1.定义字段
Boolean ib_SetSort = true;
string is_SortType = "D";
2.
/// <summary>dw排序
///
/// </summary>
/// <param name="sortDW">要排序的dw</param>
private void DWSetSort(Sybase.DataWindow.DataWindowControl sortDW) //数据窗口排序
{
try
{
string is_OrderCol = "";
if (this.ib_SetSort == true)
{
string ls_CurObj = "";// ls_CurCol = "";
int li_LinePos = 0;
int ll_CurRowNumber = 0;
ls_CurObj = sortDW.ObjectUnderMouse.Gob.Name; //得出objectName
ll_CurRowNumber = sortDW.ObjectUnderMouse.RowNumber; //得出当前Row //li_LinePos = Convert.ToInt32(sortDW.Describe(ls_CurObj + ".X")) + (Convert.ToInt32(sortDW.Describe(ls_CurObj + ".Width")) - 20);
if (sortDW.Describe(ls_CurObj + ".Band") == "header")
{
if (ll_CurRowNumber == 0 & sortDW.Describe(ls_CurObj + ".Text") != "!")
{
is_OrderCol = ls_CurObj.Substring(0, ls_CurObj.Length - 2); if (is_SortType == "A")
{
li_LinePos -= 20;
//DataWindowSort(sortDW, li_LinePos, is_OrderCol, is_SortType);
sortDW.SetSort(is_OrderCol + " " + is_SortType);
sortDW.Sort();
is_SortType = "D";
}
else
{
//DataWindowSort(sortDW, li_LinePos, is_OrderCol, is_SortType);
sortDW.SetSort(is_OrderCol + " " + is_SortType);
sortDW.Sort();
is_SortType = "A";
}
} } }
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"排序错误!");
}
} 3.
private void dw_2_Click(object sender, EventArgs e)
{
DWSetSort(dw_2);
}