Exemple #1
0
        private void gv_Detail_tb_PODetail_DoubleClick(object sender, EventArgs e)
        {
            DataRow row = GetSelectDataRow();

            if (row != null)
            {
                OnRowSelected?.Invoke(row);
            }
        }
Exemple #2
0
        /// <summary>
        /// 点击指定的行。
        /// <para>
        /// 若指定的索引是 -1,则:
        /// <list type="bullet">
        /// <item>
        /// 若设置了 <see cref="RowSelectedColor"/> 参数,将取消所有的选中背景。
        /// </item>
        /// <item>
        /// <see cref="BootDataGridRowSelectedEventArgs.Item"/> 的值是 null。
        /// </item>
        /// </list>
        /// </para>
        /// </summary>
        /// <param name="index">点击行的索引。</param>
        /// <exception cref="InvalidOperationException">索引超出数组范围。</exception>
        public async Task ClickRow(int index)
        {
            if (index > Data.Count)
            {
                throw new ArgumentOutOfRangeException($"指定的索引({index})超出数组范围({Data.Count})");
            }

            await OnRowSelected.InvokeAsync(new BootDataGridRowSelectedEventArgs(index, index < 0 ? null : Data[index]));

            if (RowSelectedColor.HasValue)
            {
                var bgColorCss   = ComponentUtil.GetColorCssClass(RowSelectedColor.Value, "bg-");
                var textColorCss = ComponentUtil.GetReverseColorCssClass(RowSelectedColor.Value, "text-");

                //先清空相应的 css
                if (index < 0)
                {
                    for (int i = 0; i < RowCssList.Count; i++)
                    {
                        RemoveRowCss(i, bgColorCss);
                        RemoveRowCss(i, textColorCss);
                    }
                    return;
                }

                if (!RowMultipleSelect)
                {
                    //如果不能多选行,则点击任意一行则会取消其他行的高亮。
                    for (int i = 0; i < RowCssList.Count; i++)
                    {
                        RemoveRowCss(i, bgColorCss);
                        RemoveRowCss(i, textColorCss);
                    }
                }

                if (index > -1)
                {
                    if (HasRowCss(index, bgColorCss))
                    {
                        RemoveRowCss(index, bgColorCss);
                        RemoveRowCss(index, textColorCss);
                    }
                    else
                    {
                        AddRowCss(index, bgColorCss);
                        AddRowCss(index, textColorCss);
                    }
                }
            }
        }
 public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
 {
     OnRowSelected?.Invoke(indexPath, null);
 }
Exemple #4
0
 public TableViewDelegate(OnRowSelected onRowSelected, OnGetHeightForRow onGetHeightForRow)
 {
     this.onRowSelected     = onRowSelected;
     this.onGetHeightForRow = onGetHeightForRow;
 }
Exemple #5
0
 private void onGridRowSelected(string dest, float price, uint size)
 {
     OnRowSelected?.Invoke(dest, price, size);
 }