/// <summary> /// 设置对应的视图行 /// </summary> /// <param name="p_row"></param> /// <param name="p_isAsync">是否异步设置DataContext</param> public void SetViewRow(LvItem p_row, bool p_isAsync) { if (_row == p_row) { return; } // 虚拟行时需要重置 if (_row != null) { _row.ValueChanged = null; } _row = p_row; if (_row != null) { // 值变化时通过切换DataContext更新 _row.ValueChanged = OnValueChanged; } if (p_isAsync) { SetDataContextAsync(); } else { DataContext = _row; } }
public static string GetText(IntPtr hWnd, int itemIndex, int column) { string result = null; const int maxTextLength = 1024; var textPtr = Marshal.AllocHGlobal(maxTextLength * 2); try { var lvItem = new LvItem { mask = LvifText, iItem = itemIndex, iSubItem = column, pszText = textPtr, cchTextMax = maxTextLength }; if (SendMessage(hWnd, LvmGetItemW, IntPtr.Zero, ref lvItem) != IntPtr.Zero) { result = Marshal.PtrToStringUni(textPtr); } } finally { Marshal.FreeHGlobal(textPtr); } return(result); }
private void BtnSalvar_Click(object sender, EventArgs e) { try { // metodo ArmazenarFuncionario // responsavel por inserir um novo objeto Funcionario // em uma posição da list listaFuncionarios.ArmazenarFuncionario(tbNome.Text, tbCPF.Text, tbCargo.Text, float.Parse(tbSalario.Text), float.Parse(tbDesconto.Text), float.Parse(tbAdicional.Text), cbDesconto.Checked); // alimento uma "sublista" de item (que é uma linha da list view) // "pegando" os dados dos textbox int length = listaFuncionarios.RetornarTamanhoLista() - 1; ListViewItem item = LvItem.Item(listaFuncionarios.RetornaObjetoFuncionario(length)); // adicionando o objeto item na listview lvListaFuncionarios.Items.Add(item); MessageBox.Show($"Calculou Salário Líquido para o funcionário {tbNome.Text}", "Atenção"); LimparCampos(); } catch (DomainException err) { MessageBox.Show(err.Message, "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void BtnOrdenar_Click(object sender, EventArgs e) { // metodo que ordena a lista de objetos funcionarios listaFuncionarios.OrdenarFuncionario(); //limpa a listview (grid da tela) lvListaFuncionarios.Items.Clear(); // obtem o tamanho da list // lembrando que aqui neste escopo, o listaFuncionario não é manipulado como list // apenas dentro da classe int tamanhoLista = listaFuncionarios.RetornarTamanhoLista(); // objeto funcionarioObj "em branco" Funcionario funcionarioObj = new Funcionario(); //percorre a list do inicio ao fim for (int indice = 0; indice < tamanhoLista; indice++) { // cada indice, funcionarioObj irá receber o objeto Funcionario da posição funcionarioObj = listaFuncionarios.RetornaObjetoFuncionario(indice); // alimento uma "sublista" de item (que é uma linha da list view) // "pegando" os dados direto do funcionarioObj ListViewItem item = LvItem.Item(funcionarioObj); // adicionando o objeto item na listview lvListaFuncionarios.Items.Add(item); } }
public UIElement Create(LvItem p_item) { return(new TextBlock { Text = p_item.Row.Str("xm"), Margin = new Thickness(10), Foreground = (p_item.Row.Str("xb") == "男") ? Res.BlackBrush : Res.RedBrush, }); }
/// <summary> /// 动态创建磁贴项内容 /// </summary> /// <param name="p_item"></param> /// <returns></returns> LvRow CreateTileItemByRowView(LvItem p_item) { var row = new TileRow(_owner, (IRowView)_owner.View, p_item); if (p_item != null) { row.SetViewRow(p_item, false); } return(row); }
/// <summary> /// 由模板生成磁贴项内容 /// </summary> /// <param name="p_item"></param> /// <returns></returns> LvRow CreateTileItemByTemplate(LvItem p_item) { var row = new TileRow(_owner, (DataTemplate)_owner.View); if (p_item != null) { row.SetViewRow(p_item, false); } return(row); }
/// <summary> /// 磁贴的项 /// </summary> /// <param name="p_item"></param> /// <returns></returns> LvRow CreateTileFormItem(LvItem p_item) { var row = new TileFormRow(_owner); if (p_item != null) { row.SetViewRow(p_item, false); } return(row); }
void CreateItem(float positionX, float positionY, int vitri) { LvItem levelCreate = lvPrefab.Spawn <LvItem> ( new Vector3(positionX, positionY, 85f), lvPrefab.transform.rotation ); levelCreate.setData(vitri); levelCreate.transform.parent = this.gameObject.transform; }
private void MinhaJanela_Load(object sender, EventArgs e) { this.MaximizeBox = false; this.MinimizeBox = false; LimparCampos(); Controle controle = new Controle(); List <Funcionario> funcionariosList = controle.SelectAllFuncionarios(); for (int indice = 0; indice < funcionariosList.Count; indice++) { listaFuncionarios.ArmazenarFuncionario(funcionariosList[indice]); lvListaFuncionarios.Items.Add(LvItem.Item(funcionariosList[indice])); } }
private void RefreshListView() { var files = CheckBox1.IsChecked.HasValue && CheckBox1.IsChecked.Value //? Directory.GetFiles(TargetPath, "*.max", SearchOption.AllDirectories) //: Directory.GetFiles(TargetPath, "*.max", SearchOption.TopDirectoryOnly); ? Directory.EnumerateFiles(TargetPath, "*.max", SearchOption.AllDirectories) : Directory.EnumerateFiles(TargetPath, "*.max", SearchOption.TopDirectoryOnly); var items = new List <LvItem>(); foreach (var file in files) { var docInfo = ParseDocInfo(file); var warningInfo = (ValidateObjectsName(docInfo) > 0) ? "\u26A0" : ""; var tip = (ValidateObjectsName(docInfo) > 0) ? "May have ALC scripts" : ""; var verInfo = GetVersionInfo(docInfo.Values.ToArray()[0]); if (!verInfo.TryGetValue(0, out var verMax)) { verMax = "???"; } if (!verInfo.TryGetValue(1, out var verSave)) { verSave = "???"; } var item = new LvItem { About = warningInfo, AboutTooltip = tip, FileName = Path.GetFileNameWithoutExtension(file), FilePath = file, Version = verMax, SaveAsVersion = verSave, SumInfo = null, DocInfo = docInfo, }; items.Add(item); } ListView1.ItemsSource = items; var view = (CollectionView)CollectionViewSource.GetDefaultView(ListView1.ItemsSource); view?.SortDescriptions.Add(new SortDescription("About", ListSortDirection.Descending)); view?.SortDescriptions.Add(new SortDescription("FileName", ListSortDirection.Ascending)); }
/// <summary> /// 由模板选择器生成磁贴项内容 /// </summary> /// <param name="p_item"></param> /// <returns></returns> LvRow CreateTileItemBySelector(LvItem p_item) { var temp = ((DataTemplateSelector)_owner.View).SelectTemplate(p_item); if (temp == null) { throw new Exception("未指定行模板!"); } var row = new TileRow(_owner, temp); if (p_item != null) { row.SetViewRow(p_item, false); } return(row); }
public static string ServiceName(LvItem p_vr) { var row = (Row)p_vr.Data; switch ((TraceOutType)row["type"]) { case TraceOutType.RpcCall: case TraceOutType.RpcRecv: return(row.Str("service")); case TraceOutType.WsCall: case TraceOutType.WsRecv: return("ws"); case TraceOutType.ServerPush: return("push"); default: return(null); } }
private static extern IntPtr SendMessage(IntPtr hWnd, uint msg, IntPtr wParam, ref LvItem lParam);
public TileRow(Lv p_owner, IRowView p_rowView, LvItem p_item) : base(p_owner) { LoadContent(p_rowView.Create(p_item)); AttachEvent(); }