問題タブ [data-entry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
user-interface - 多くの動的フィールドを持つフォームをどのように設計しますか?
ユーザーがフィールドの入力を動的に追加できるフォームがあります。たとえば、プロジェクトを追跡するためのフォームがある場合、そのプロジェクトにタスクを動的に追加したいとします。私の言葉を明確にするために、タスク フィールドの入力を動的に追加します。問題は、これらのフィールドが 50 あることです。現在のソリューションでは、フィールドの横にプラス (+) が付いた 50 個のフィールドすべてが表示され、そのフィールドに別の入力ボックスを追加できるようになっています。フィールドのラベルはフィールドの左側にあり、追加される各入力ボックスは現在の入力ボックスの下に表示されます。
入力を動的に追加することが正しい解決策であると信じてください。これは考え抜かれたものであり、これがユーザーが望んでいるものであると信じてください。私たちは他のさまざまな道をたどりましたが、これが最善の解決策であると信じてください。
私の質問はプレゼンテーションについてです。どのようにしますか?
答えはUIデザインにとどめておいてください。データベースのスキーマはすでに把握しています。
アップデート
現在のソリューションは、JavaScript を使用して新しい入力を動的に追加する Web ベースのアプリケーションであり、Corey Trager の図に非常によく似ています。
ms-access - MS Access フォームの置き換え
Access で作成された非常に古いデータ入力フォームが多数あり、SQL Server データベースにリンクしています。各フォームには、任意の数のサブフォームを含めることができます。
これらのアクセス フロントエンドの使用をやめたいと考えていますが、新しいアプリや Web アプリを作成して、すべてのフォームを置き換える時間がありません。
SQL Server にリンクして、フォームのビジュアル デザインとデータベースへの自動リンクを可能にする別のオプションはありますか?
または、それが難しすぎる場合は、フォームのハンドコーディングを簡単にする方法を考えてもらえますか?
algorithm - 製品検索でタイプミスを検出し、可能な修正を提案するにはどうすればよいですか?
製品名の非常に大規模なデータベースを考えると、ユーザー検索で考えられるタイプミスをどのように検出し、考えられる修正を提案しますか(Googleがそれらを提示する方法のようにちょっと)?
例えば
ユーザーは「フォークハンドル」と入力し、「検索」を押します。
彼らは戻ってきます
「結果はありません。「フォークハンドル」という意味ですか?」
design-patterns - Web での大規模なデータ入力は実現可能ですか?
大量のデータ入力用の Web ページをデザインする良い方法はありますか? データグリッドは、このタイプのデータ入力を処理するための最良の方法のようであり、Web よりも Access や SQLite+Frontend などのクライアント アプリケーションの方が適していると思います。
データ入力用のページがあるサイトへのリンクは大歓迎です。
forms - ODBC を介したデータの入力と検索には、どのアプリケーションを使用していますか?
データベースへのデータ入力に使用するアプリやツールは何ですか? データを 1 つの ... 項目 ... で ... ずつ入力するために PHP Web ベースのシステムを使用する既存の (面倒な) システムを改善しようとしています。
これに対する私の現在の解決策は、スプレッドシートを使用することです。人間が判読できるテキストと数値ではうまく機能しますが、他のテーブルの行と結合するために使用される外部キーでは機能しません。
誰かが住んでいる都市を含むデータ行が必要だと想像してください。これを保持する列は id_city で、id (シリアル) と name (テキスト) の 2 つの列を持つ "city" テーブルにキー付けされています。
スプレッドシートの機能を拡張して、id_city 列のすべての行にドロップダウン メニューを含めて、ユーザーが都市を選択できるようにする (都市名のテキストを表示する) ことを想定していますが、実際には選択した都市 ID を保存します。このように、スプレッドシートは、
(1) 各画面に大量のデータを表示し、
(2) csv ファイルとしてエクスポートして、手動で行をデータベースに挿入する既存のスクリプトにスローすることができます。
私は MS Excel と Access、そして OpenOffice のスイートで遊んでいますが、上記の機能を提供してくれるものは見つかりませんでした。
私のウィッシュ リストのその他の項目:
(1) ユーザーが選択できる都市の名前を動的に取得します。
(2) ユーザーがバックエンドに直接データをプッシュできるようにする (外部ファイル/スクリプト経由ではなく)。
(3) バックエンドでデータ行のいずれかの列が変更された場合、ユーザーは画面上のデータを更新できます。最近の変更を反映します。
どうすればデータ入力のプロセスを改善できるか知っていますか? どのようなツールを使用しますか? バックエンドに PostgreSQL を使用しており、MS Office、OpenOffice、および Web ベースのソリューションにアクセスできます。柔軟性があり、強力で、開発や展開に多くの時間を必要としないソリューションが大好きです (私は知っています、夢を見ています...)
pgAdmin3 にも同様の機能があることは知っていますが、私が見たところ、これはユーザーが使用するものというよりも管理ツールに近いものです。
javascript - 誰かがSigmaGrid(Javascriptベースの編集可能なデータグリッド)を使用しましたか?
ここで誰かがJavaScriptベースのデータグリッドにSigmaGridを使用しましたか?迅速なデータ入力とキーパッドの使用を可能にするグリッドは私が見つけた唯一のグリッドでしたが、多くの開発時間を費やす前に、コミュニティのそれに関する経験について学びたいと思いました。
(注:矢印キーと最小限のマウス使用で使用できる、高速で並べ替え可能で編集可能な数十のグリッドが必要です...それ以外の場合は、ASP.NETコントロールをポップするだけです)
validation - グリッドへのデータの入力
UIの質問:グリッドへのデータ入力を実装するための最良の方法(「エンドユーザーが最も好む方法」として定義される)または最も悪い方法についてのコンセンサスはありますか?
多くの行があるグリッドがあります。グリッドの列には、ユーザーが入力/編集できるさまざまなタイプのプロパティが含まれています。プロパティの「タイプ」は次のとおりです。
- フリーテキスト
- 数字(数字)
- 列挙値(たとえば、「高」、「中」、「低」のいずれか)
- その他(日付、期間など)
「フリーテキスト」タイプは設計が難しくありませんが(それについては質問しません)、次の2つのタイプについてはどうでしょうか。
数字
- キーボードを使用して数値を入力する場合、フリーテキスト入力を許可してから、ぼかしで検証メソッドを実行しますか?または、各キー押下を監視して、データ入力を数字のみに制限しますか?
- 一部の列のデータの構文が数値のみに制限されていることを(フォームではなくグリッド上で)ユーザーにどのように伝えますか?ユーザーが間違った(数値以外の)キーを押した場合はどうしますか?
- 「spin」または「spinner」コントロールは、標準のWindowsコントロールです。HTMLベースのグリッドでも使用するのは適切ですか?
列挙値
マウスを使用して列挙値を入力または編集するには、マウスクリックで小さなコンテキストメニューをポップすることが重要だと思います。
<select>
別の方法は、入力コントロール(つまりコンボボックス)を使用することです。列全体のコンボボックスを使用することは、テキスト値の列を使用することほど読みにくいと思います(コンボボックスはテキスト以外のインクを追加するため)。通常はプレーンテキストを表示しますが、フィールドが入力フォーカスを取得したときにそのテキストをコンボボックスに置き換える(そしてぼかし時にコンボボックスを削除する)ことについてどう思いますか?- マウス(つまりクリック)の結果ではなく、キーボード(つまり[Tab]キー)の結果としてフォーカスが変更されたときに、同じメニューをフォーカスにポップしますか?つまり、フィールドにタブで移動すると、ポップアップメニューが表示されますか?ちなみに、私が見たCSSベースのポップアップメニューは、マウスには反応しますが、キーボードには反応しません(たとえば、[上]および[下]矢印キー)。ブラウザで実行できるIntellisenseのようなデータ入力の実装を知っていますか?
例えば?
また、あなたが模範的な例だと思うものを見たいと思います。デスクトップUIやブラウザ内の回答に興味があります。
編集:[data-entry]タグを付けた別の質問(「誰かがSigma Grid(Javascriptベースの編集可能なデータグリッド)を使用したことがありますか?」)に続いて、SigmaGridの例を見ています。IMOは多くのことをうまく実行します(キーボードとジャストインタイム選択ボックスの優れたサポート)。ただし、数値フィールドのサポートは不完全な場合があります。たとえば、数値セルで「a」を押すと、警告ボックスが表示されて、間違っていることを通知することがあります(ツールチップの邪魔にならない場合があります)。および/またはセルを空(空白)のままにし、「a」を消去して何も残さない場合があります。
以下の回答のいずれかに返信して編集してください。
ただし、ここでも、フォームの主な用途を決定し、そのために最適化します。データの視覚化または分析には、一括入力とは異なるニーズがあり、キーボードユーザーを満足させることは、キーボード+マウスユーザーとはまったく異なります。
同じ表示(つまり、テーブル/グリッド)が、既存のプロパティの表示、新しいプロパティの作成、および既存のプロパティの編集にうまく機能するようにしたいです。数十のアイテム(つまり、数十行のデータ)があり、それぞれに数列しかありません(たとえば、テキスト/アイテムの説明の1列と、1つ以上の関連アイテムプロパティの1つ以上の列)。
一部のデータ/プロパティは主観的で相対的なものである可能性があります(たとえば、各アイテムの2つのプロパティは、各アイテムの「優先度」または「難易度」であり、他のアイテムと比較した場合にのみ特に意味があります)。これが私が望む理由です。すべてのデータを1つの画面にまとめて表示する:エンドユーザーがそれらを比較できるようにします。
私のアプリケーションは、比較的専門的な(初心者ではない)コンピューターユーザー向けですが、データ入力スペシャリスト向けではありません。たとえば、ユーザーはソフトウェア開発者、プロジェクトマネージャー、製品マネージャー、QA担当者などですが、ある程度は顧客でもあります。イントラネット(パブリックインターネットではない)で実行されていますが、使いやすくて楽しいことと、習得しやすいこと、または直感的に理解できることの両方が重要です。
また、キーボードユーザーの満足度がキーボード+マウスユーザーと完全に異なる理由もわかりません。単一のソリューションでどちらかまたは両方をサポートできる/すべきだと思いました。
regex - 「家族」の名前を人+正規表現で姓に解析する
次の文字列を指定すると、名前と姓のリストに解析したいと思います。
ピーター・ポール、メアリー&ジョエル・ヴァン・デル・ウィンケル
(およびより単純なバージョン)
正規表現でこれを行うことができるかどうかを調べようとしています。私はここまで持っています
しかし、ここでの問題は、姓を別のキャプチャでキャプチャしたいということです。
私は可能性を超えていると思いますが、念のため...
アップデート
グループからキャプチャを抽出するのは初めてだったので、使用した (C#) コードは次のとおりです。
次のようなケースをカバーするために、受け入れられた回答を少し調整する必要がありました。
ピーター・ポール&ジョセフ・ヴァン・デル・ウィンケル
ピーター・ポール & ジョセフ・ヴァン・デル・ウィンケル