// 在ListView 控件中显示列名
public void ShowColumnInListView()
{
DataTable dt = listTable;
Clear();
AllowColumnReorder = true;//用户可以调整列的位置
GridLines = true;
int RowCount, ColCount, i;
if (listTable == null) return;
RowCount = listTable.Rows.Count;
ColCount = listTable.Columns.Count;
int nwidth = (this.Width - 36 * 2) / ColCount;
//添加列标题名
for (i = 0; i < ColCount; i++)
{
Columns.Add(GetColumnName(listTable.Columns[i].Caption.Trim()), nwidth, HorizontalAlignment.Left);
}
if (blnlvFlag != LISTTYPE.LV_LOG)
{
Columns.Add("修改", 36, HorizontalAlignment.Left);
Columns.Add("删除", 36, HorizontalAlignment.Left);
}
}
// 在ListView 控件中显示 DataTable的数据
public void ShowDataInListView()
{
Clear();
//lst.View=System.Windows.Forms.View.Details;
AllowColumnReorder = true;//用户可以调整列的位置
GridLines = true;
int RowCount, ColCount, i, j;
DataRow dr = null;
string taskstatus = "";
if (listPageTable == null) return;
RowCount = listPageTable.Rows.Count;
ColCount = listPageTable.Columns.Count;
if (blnlvFlag != LISTTYPE.LV_LOG)
{
int nwidth = (this.Width - 36 * 2) / ColCount;
//添加列标题名
for (i = 0; i < ColCount; i++)
{
Columns.Add(GetColumnName(listPageTable.Columns[i].Caption.Trim()), nwidth, HorizontalAlignment.Left);
}
Columns.Add("修改", 36, HorizontalAlignment.Left);
Columns.Add("删除", 36, HorizontalAlignment.Left);
}
else {
int[] width = {50,120,110,660};
for (i = 0; i < ColCount; i++)
{
Columns.Add(GetColumnName(listPageTable.Columns[i].Caption.Trim()), width[i], HorizontalAlignment.Left);
}
}
if (RowCount == 0) return;
for (i = 0; i < RowCount; i++)
{
dr = listPageTable.Rows[i];
if (listPageTable.Columns[0].Caption.Trim() == "TaskId")
{
string tid = ((string)dr[0].ToString().Trim()).PadLeft(6, '0');
Items.Add(tid);
}
else
{
Items.Add(dr[0].ToString().Trim());
}
//Random r = new Random();
for (j = 1; j < ColCount; j++)
{
switch (listPageTable.Columns[j].Caption.Trim())
{
case "UserType":
{
DataRow[] datarows = FormMain.UT_Table.Select("UserType=" + dr[j].ToString().Trim());
if (datarows.Count() > 0)
{
Items[i].SubItems.Add(datarows[0][1].ToString());
}
break;
}
case "SecretLevelId":
{
DataRow[] datarows = FormMain.SL_Table.Select("SecretLevelId=" + dr[j].ToString().Trim());
foreach (DataRow row in datarows)
{
this.Items[i].SubItems.Add(row[1].ToString());
}
break;
}
case "SecretLimitTypeId":
{
DataRow[] datarows = FormMain.SLT_Table.Select("SecretLimitTypeId=" + dr[j].ToString().Trim());
foreach (DataRow row in datarows)
{
this.Items[i].SubItems.Add(row[1].ToString());
}
break;
}
case "ProcessStatusType":
{
DataRow[] datarows = FormMain.PS_Table.Select("ProcessStatusType=" + dr[j].ToString().Trim());
foreach (DataRow row in datarows)
{
taskstatus = row[1].ToString();
this.Items[i].SubItems.Add(row[1].ToString());
}
break;
}
default:
this.Items[i].SubItems.Add((string)dr[j].ToString().Trim());
break;
}
}
switch (blnlvFlag)
{
case LISTTYPE.LV_TASK:
{
//添加操作1
LabelEx label1 = new LabelEx();
label1.row = i;
label1.column = ColCount;
if (taskstatus == "未处理")
{
label1.SetClickStyle("修改", 1, ModHandler);
}
else
{
label1.SetClickStyle("修改", 0, null);
}
AddEmbeddedControl(label1, ColCount, i);
//添加操作2
LabelEx label2 = new LabelEx();
label2.row = i;
label2.column = ColCount + 1;
if (taskstatus == "未处理" || taskstatus == "处理成功" || taskstatus == "处理中")
{
label2.SetClickStyle("删除", 1, DelHandler);
}
else
{
label2.SetClickStyle("删除", 0, null);
}
AddEmbeddedControl(label2, ColCount + 1, i);
}
break;
case LISTTYPE.LV_USER:
{
//添加操作1
LabelEx label1 = new LabelEx();
label1.row = i;
label1.column = ColCount;
label1.SetClickStyle("修改", 1, ModHandler);
AddEmbeddedControl(label1, ColCount, i);
//添加操作2
LabelEx label2 = new LabelEx();
label2.row = i;
label2.column = ColCount + 1;
if (dr[0].ToString().Trim() == FormMain.userName)
{
label2.SetClickStyle("删除", 0, null);
}
else
{
label2.SetClickStyle("删除", 1, DelHandler);
}
AddEmbeddedControl(label2, ColCount + 1, i);
}
break;
case LISTTYPE.LV_LOG:
break;
}
}
}
public static string GetColumnName(string ln)
{
string listname = "";
switch (ln)
{
case "TaskId": listname = "任务ID"; break;
case "SecretLevelId": listname = "秘密等级"; break;
case "SourceFile": listname = "源文件"; break;
case "SecretLimitTypeId": listname = "保密期限"; break;
//case "ErrorCode":listname="错误原因"; break;
case "ProcessStatusType": listname = "处理状态"; break;
case "DestFile": listname = "目标文件"; break;
case "ModifyTime": listname = "创建时间"; break;
case "FontSizeID": listname = "字体"; break;
case "UserName": listname = "用户名"; break;
case "SecretLimitDesc": listname = "保密说明"; break;
case "EndTime": listname = "完成时间"; break;
case "UserLogId": listname = "日志ID"; break;
case "LogTime": listname = "时间"; break;
//case "UserName":listname=""; break;
case "Message": listname = "内容"; break;
//case "UserName":listname=""; break;
case "UserType": listname = "用户类型"; break;
}
return listname;
}
///
}
}